# gift-sparkle icon

Gift sparkle. Gentleface icon, drawn on the 16 px pixel grid. Free, MIT licensed. Page: https://gentleface.com/icons/gift-sparkle

- Category: Shopping
- Use it for: ai gift ideas, gift finder
- Example: AI gift ideas on a shopping site
- Built from: gift + sparkle
- Tags: present, gift, box, birthday, surprise, reward, sparkle
- Family: gift, gift-check, gift-clock, gift-link, gift-off, gift-plus, gift-user
- Component name: GiftSparkleIcon
- Added: 2026-11-07
- Since: version 0.6.0
- npm: `import { GiftSparkleIcon } from '@gentleface/react';` (@gentleface/react 0.6.0)

## Files

Each icon is drawn on the 16 px grid, and most also on the 20 and 24 px grids (at 24 in three weights: light 1 px, regular 1.5 px, bold 2 px). Show the drawing made for your size, or an exact multiple of it, on whole pixels: 16 for 16 and 32 px, 20 for 20 and 40, 24 for 24 and 48. A size in between or a fractional position blurs it. The code on each icon page is the 16 px drawing, an SVG with fill="currentColor"; the icon page's downloads follow its Grid switch, and npm has the 20 and 24 px drawings too.

- line-round: https://gentleface.com/svg/line-round/16/gift-sparkle.svg · PNG https://gentleface.com/png/line-round/16/gift-sparkle.png · https://gentleface.com/png/line-round/32/gift-sparkle.png · https://gentleface.com/png/line-round/48/gift-sparkle.png
- line-soft: https://gentleface.com/svg/line-soft/16/gift-sparkle.svg · PNG https://gentleface.com/png/line-soft/16/gift-sparkle.png · https://gentleface.com/png/line-soft/32/gift-sparkle.png · https://gentleface.com/png/line-soft/48/gift-sparkle.png
- line-sharp: https://gentleface.com/svg/line-sharp/16/gift-sparkle.svg · PNG https://gentleface.com/png/line-sharp/16/gift-sparkle.png · https://gentleface.com/png/line-sharp/32/gift-sparkle.png · https://gentleface.com/png/line-sharp/48/gift-sparkle.png
- solid-round: https://gentleface.com/svg/solid-round/16/gift-sparkle.svg · PNG https://gentleface.com/png/solid-round/16/gift-sparkle.png · https://gentleface.com/png/solid-round/32/gift-sparkle.png · https://gentleface.com/png/solid-round/48/gift-sparkle.png
- solid-soft: https://gentleface.com/svg/solid-soft/16/gift-sparkle.svg · PNG https://gentleface.com/png/solid-soft/16/gift-sparkle.png · https://gentleface.com/png/solid-soft/32/gift-sparkle.png · https://gentleface.com/png/solid-soft/48/gift-sparkle.png
- solid-sharp: https://gentleface.com/svg/solid-sharp/16/gift-sparkle.svg · PNG https://gentleface.com/png/solid-sharp/16/gift-sparkle.png · https://gentleface.com/png/solid-sharp/32/gift-sparkle.png · https://gentleface.com/png/solid-sharp/48/gift-sparkle.png

The SVG of every style: https://gentleface.com/icons/gift-sparkle.json (`svg`).

## Code (line-round)

The snippets are decorative (aria-hidden). For an icon that carries meaning on its own, such as an icon-only button, label the button, or give the SVG role="img" and an aria-label. For another style, take its SVG from the JSON and swap the path `d`.

### SVG

```svg
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M2.14 1.264C2.242 1.007 2.391 0.781 2.586 0.586C2.781 0.391 3.007 0.242 3.264 0.14C3.5 0.047 3.746 0 4 0C4.254 0 4.5 0.047 4.736 0.14C4.993 0.242 5.219 0.391 5.414 0.586C5.444 0.615 5.472 0.646 5.5 0.677C5.528 0.646 5.556 0.615 5.586 0.586C5.781 0.391 6.007 0.242 6.264 0.14C6.5 0.047 6.746 0 7 0C7.254 0 7.5 0.047 7.736 0.14C7.993 0.242 8.219 0.391 8.414 0.586C8.609 0.781 8.758 1.007 8.86 1.264C8.953 1.5 9 1.746 9 2L9 4L11 4C11.418 4 11.799 4.12 12.143 4.359C12.486 4.598 12.731 4.914 12.876 5.306C12.924 5.436 12.919 5.563 12.861 5.689C12.803 5.814 12.71 5.901 12.58 5.949C12.451 5.996 12.323 5.992 12.198 5.934C12.072 5.876 11.986 5.783 11.938 5.653C11.865 5.457 11.743 5.299 11.571 5.179C11.4 5.06 11.209 5 11 5L6 5L6 7L9.5 7C9.641 7 9.759 7.048 9.856 7.144C9.952 7.241 10 7.359 10 7.5C10 7.641 9.952 7.759 9.856 7.856C9.759 7.952 9.641 8 9.5 8L6 8L6 13L8.5 13C8.641 13 8.759 13.048 8.856 13.144C8.952 13.241 9 13.359 9 13.5C9 13.641 8.952 13.759 8.856 13.856C8.759 13.952 8.641 14 8.5 14L2 14C1.724 14 1.488 13.902 1.293 13.707C1.098 13.512 1 13.276 1 13L1 8C0.724 8 0.488 7.902 0.293 7.707C0.098 7.512 0 7.276 0 7L0 6C0 5.746 0.047 5.5 0.14 5.264C0.242 5.007 0.391 4.781 0.586 4.586C0.781 4.391 1.007 4.242 1.264 4.14C1.5 4.047 1.746 4 2 4L2 2C2 1.746 2.047 1.5 2.14 1.264ZM5.144 3.856C5.048 3.759 5 3.641 5 3.5L5 2C5 1.724 4.902 1.488 4.707 1.293C4.512 1.098 4.276 1 4 1C3.724 1 3.488 1.098 3.293 1.293C3.098 1.488 3 1.724 3 2L3 4L5.499 4C5.359 4 5.24 3.952 5.144 3.856ZM8 2C8 1.724 7.902 1.488 7.707 1.293C7.512 1.098 7.276 1 7 1C6.724 1 6.488 1.098 6.293 1.293C6.098 1.488 6 1.724 6 2L6 3.5C6 3.641 5.952 3.759 5.856 3.856C5.76 3.952 5.641 4 5.501 4L8 4L8 2ZM5 7L5 5L2 5C1.724 5 1.488 5.098 1.293 5.293C1.098 5.488 1 5.724 1 6L1 7C1.185 7 1.351 7.044 1.5 7.131C1.584 7.047 1.699 7 1.818 7L5 7ZM11.5 16C11 13 10 12 7 11.5C10 11 11 10 11.5 7C12 10 13 11 16 11.5C13 12 12 13 11.5 16ZM2 8L2 13L5 13L5 8L2 8Z"/></svg>
```

### React

```tsx
// Gentleface "gift-sparkle" (line-round), MIT. https://gentleface.com/icons/gift-sparkle
import type { SVGProps } from 'react';

export function GiftSparkleIcon(props: SVGProps<SVGSVGElement>) {
  return (
    <svg xmlns="http://www.w3.org/2000/svg" width={16} height={16} viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" {...props}>
      <path d="M2.14 1.264C2.242 1.007 2.391 0.781 2.586 0.586C2.781 0.391 3.007 0.242 3.264 0.14C3.5 0.047 3.746 0 4 0C4.254 0 4.5 0.047 4.736 0.14C4.993 0.242 5.219 0.391 5.414 0.586C5.444 0.615 5.472 0.646 5.5 0.677C5.528 0.646 5.556 0.615 5.586 0.586C5.781 0.391 6.007 0.242 6.264 0.14C6.5 0.047 6.746 0 7 0C7.254 0 7.5 0.047 7.736 0.14C7.993 0.242 8.219 0.391 8.414 0.586C8.609 0.781 8.758 1.007 8.86 1.264C8.953 1.5 9 1.746 9 2L9 4L11 4C11.418 4 11.799 4.12 12.143 4.359C12.486 4.598 12.731 4.914 12.876 5.306C12.924 5.436 12.919 5.563 12.861 5.689C12.803 5.814 12.71 5.901 12.58 5.949C12.451 5.996 12.323 5.992 12.198 5.934C12.072 5.876 11.986 5.783 11.938 5.653C11.865 5.457 11.743 5.299 11.571 5.179C11.4 5.06 11.209 5 11 5L6 5L6 7L9.5 7C9.641 7 9.759 7.048 9.856 7.144C9.952 7.241 10 7.359 10 7.5C10 7.641 9.952 7.759 9.856 7.856C9.759 7.952 9.641 8 9.5 8L6 8L6 13L8.5 13C8.641 13 8.759 13.048 8.856 13.144C8.952 13.241 9 13.359 9 13.5C9 13.641 8.952 13.759 8.856 13.856C8.759 13.952 8.641 14 8.5 14L2 14C1.724 14 1.488 13.902 1.293 13.707C1.098 13.512 1 13.276 1 13L1 8C0.724 8 0.488 7.902 0.293 7.707C0.098 7.512 0 7.276 0 7L0 6C0 5.746 0.047 5.5 0.14 5.264C0.242 5.007 0.391 4.781 0.586 4.586C0.781 4.391 1.007 4.242 1.264 4.14C1.5 4.047 1.746 4 2 4L2 2C2 1.746 2.047 1.5 2.14 1.264ZM5.144 3.856C5.048 3.759 5 3.641 5 3.5L5 2C5 1.724 4.902 1.488 4.707 1.293C4.512 1.098 4.276 1 4 1C3.724 1 3.488 1.098 3.293 1.293C3.098 1.488 3 1.724 3 2L3 4L5.499 4C5.359 4 5.24 3.952 5.144 3.856ZM8 2C8 1.724 7.902 1.488 7.707 1.293C7.512 1.098 7.276 1 7 1C6.724 1 6.488 1.098 6.293 1.293C6.098 1.488 6 1.724 6 2L6 3.5C6 3.641 5.952 3.759 5.856 3.856C5.76 3.952 5.641 4 5.501 4L8 4L8 2ZM5 7L5 5L2 5C1.724 5 1.488 5.098 1.293 5.293C1.098 5.488 1 5.724 1 6L1 7C1.185 7 1.351 7.044 1.5 7.131C1.584 7.047 1.699 7 1.818 7L5 7ZM11.5 16C11 13 10 12 7 11.5C10 11 11 10 11.5 7C12 10 13 11 16 11.5C13 12 12 13 11.5 16ZM2 8L2 13L5 13L5 8L2 8Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "gift-sparkle" (line-round), MIT. https://gentleface.com/icons/gift-sparkle -->
<template>
  <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true">
    <path d="M2.14 1.264C2.242 1.007 2.391 0.781 2.586 0.586C2.781 0.391 3.007 0.242 3.264 0.14C3.5 0.047 3.746 0 4 0C4.254 0 4.5 0.047 4.736 0.14C4.993 0.242 5.219 0.391 5.414 0.586C5.444 0.615 5.472 0.646 5.5 0.677C5.528 0.646 5.556 0.615 5.586 0.586C5.781 0.391 6.007 0.242 6.264 0.14C6.5 0.047 6.746 0 7 0C7.254 0 7.5 0.047 7.736 0.14C7.993 0.242 8.219 0.391 8.414 0.586C8.609 0.781 8.758 1.007 8.86 1.264C8.953 1.5 9 1.746 9 2L9 4L11 4C11.418 4 11.799 4.12 12.143 4.359C12.486 4.598 12.731 4.914 12.876 5.306C12.924 5.436 12.919 5.563 12.861 5.689C12.803 5.814 12.71 5.901 12.58 5.949C12.451 5.996 12.323 5.992 12.198 5.934C12.072 5.876 11.986 5.783 11.938 5.653C11.865 5.457 11.743 5.299 11.571 5.179C11.4 5.06 11.209 5 11 5L6 5L6 7L9.5 7C9.641 7 9.759 7.048 9.856 7.144C9.952 7.241 10 7.359 10 7.5C10 7.641 9.952 7.759 9.856 7.856C9.759 7.952 9.641 8 9.5 8L6 8L6 13L8.5 13C8.641 13 8.759 13.048 8.856 13.144C8.952 13.241 9 13.359 9 13.5C9 13.641 8.952 13.759 8.856 13.856C8.759 13.952 8.641 14 8.5 14L2 14C1.724 14 1.488 13.902 1.293 13.707C1.098 13.512 1 13.276 1 13L1 8C0.724 8 0.488 7.902 0.293 7.707C0.098 7.512 0 7.276 0 7L0 6C0 5.746 0.047 5.5 0.14 5.264C0.242 5.007 0.391 4.781 0.586 4.586C0.781 4.391 1.007 4.242 1.264 4.14C1.5 4.047 1.746 4 2 4L2 2C2 1.746 2.047 1.5 2.14 1.264ZM5.144 3.856C5.048 3.759 5 3.641 5 3.5L5 2C5 1.724 4.902 1.488 4.707 1.293C4.512 1.098 4.276 1 4 1C3.724 1 3.488 1.098 3.293 1.293C3.098 1.488 3 1.724 3 2L3 4L5.499 4C5.359 4 5.24 3.952 5.144 3.856ZM8 2C8 1.724 7.902 1.488 7.707 1.293C7.512 1.098 7.276 1 7 1C6.724 1 6.488 1.098 6.293 1.293C6.098 1.488 6 1.724 6 2L6 3.5C6 3.641 5.952 3.759 5.856 3.856C5.76 3.952 5.641 4 5.501 4L8 4L8 2ZM5 7L5 5L2 5C1.724 5 1.488 5.098 1.293 5.293C1.098 5.488 1 5.724 1 6L1 7C1.185 7 1.351 7.044 1.5 7.131C1.584 7.047 1.699 7 1.818 7L5 7ZM11.5 16C11 13 10 12 7 11.5C10 11 11 10 11.5 7C12 10 13 11 16 11.5C13 12 12 13 11.5 16ZM2 8L2 13L5 13L5 8L2 8Z" />
  </svg>
</template>
```

### Svelte

```svelte
<!-- Gentleface "gift-sparkle" (line-round), MIT. https://gentleface.com/icons/gift-sparkle -->
<script>
  let props = $props();
</script>

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" {...props}>
  <path d="M2.14 1.264C2.242 1.007 2.391 0.781 2.586 0.586C2.781 0.391 3.007 0.242 3.264 0.14C3.5 0.047 3.746 0 4 0C4.254 0 4.5 0.047 4.736 0.14C4.993 0.242 5.219 0.391 5.414 0.586C5.444 0.615 5.472 0.646 5.5 0.677C5.528 0.646 5.556 0.615 5.586 0.586C5.781 0.391 6.007 0.242 6.264 0.14C6.5 0.047 6.746 0 7 0C7.254 0 7.5 0.047 7.736 0.14C7.993 0.242 8.219 0.391 8.414 0.586C8.609 0.781 8.758 1.007 8.86 1.264C8.953 1.5 9 1.746 9 2L9 4L11 4C11.418 4 11.799 4.12 12.143 4.359C12.486 4.598 12.731 4.914 12.876 5.306C12.924 5.436 12.919 5.563 12.861 5.689C12.803 5.814 12.71 5.901 12.58 5.949C12.451 5.996 12.323 5.992 12.198 5.934C12.072 5.876 11.986 5.783 11.938 5.653C11.865 5.457 11.743 5.299 11.571 5.179C11.4 5.06 11.209 5 11 5L6 5L6 7L9.5 7C9.641 7 9.759 7.048 9.856 7.144C9.952 7.241 10 7.359 10 7.5C10 7.641 9.952 7.759 9.856 7.856C9.759 7.952 9.641 8 9.5 8L6 8L6 13L8.5 13C8.641 13 8.759 13.048 8.856 13.144C8.952 13.241 9 13.359 9 13.5C9 13.641 8.952 13.759 8.856 13.856C8.759 13.952 8.641 14 8.5 14L2 14C1.724 14 1.488 13.902 1.293 13.707C1.098 13.512 1 13.276 1 13L1 8C0.724 8 0.488 7.902 0.293 7.707C0.098 7.512 0 7.276 0 7L0 6C0 5.746 0.047 5.5 0.14 5.264C0.242 5.007 0.391 4.781 0.586 4.586C0.781 4.391 1.007 4.242 1.264 4.14C1.5 4.047 1.746 4 2 4L2 2C2 1.746 2.047 1.5 2.14 1.264ZM5.144 3.856C5.048 3.759 5 3.641 5 3.5L5 2C5 1.724 4.902 1.488 4.707 1.293C4.512 1.098 4.276 1 4 1C3.724 1 3.488 1.098 3.293 1.293C3.098 1.488 3 1.724 3 2L3 4L5.499 4C5.359 4 5.24 3.952 5.144 3.856ZM8 2C8 1.724 7.902 1.488 7.707 1.293C7.512 1.098 7.276 1 7 1C6.724 1 6.488 1.098 6.293 1.293C6.098 1.488 6 1.724 6 2L6 3.5C6 3.641 5.952 3.759 5.856 3.856C5.76 3.952 5.641 4 5.501 4L8 4L8 2ZM5 7L5 5L2 5C1.724 5 1.488 5.098 1.293 5.293C1.098 5.488 1 5.724 1 6L1 7C1.185 7 1.351 7.044 1.5 7.131C1.584 7.047 1.699 7 1.818 7L5 7ZM11.5 16C11 13 10 12 7 11.5C10 11 11 10 11.5 7C12 10 13 11 16 11.5C13 12 12 13 11.5 16ZM2 8L2 13L5 13L5 8L2 8Z" />
</svg>
```

### HTML img

```html
<!-- Gentleface "gift-sparkle" (line-round), MIT. https://gentleface.com/icons/gift-sparkle. An <img> can't take currentColor: it draws black. Inline the SVG or use the CSS mask to color it. -->
<img src="https://gentleface.com/svg/line-round/16/gift-sparkle.svg" width="16" height="16" alt="">
```

### CSS

```css
/* Gentleface "gift-sparkle" (line-round), MIT. https://gentleface.com/icons/gift-sparkle. Takes the text color. */
.icon-gift-sparkle {
  display: inline-block;
  width: 16px;
  height: 16px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M2.14 1.264C2.242 1.007 2.391 0.781 2.586 0.586C2.781 0.391 3.007 0.242 3.264 0.14C3.5 0.047 3.746 0 4 0C4.254 0 4.5 0.047 4.736 0.14C4.993 0.242 5.219 0.391 5.414 0.586C5.444 0.615 5.472 0.646 5.5 0.677C5.528 0.646 5.556 0.615 5.586 0.586C5.781 0.391 6.007 0.242 6.264 0.14C6.5 0.047 6.746 0 7 0C7.254 0 7.5 0.047 7.736 0.14C7.993 0.242 8.219 0.391 8.414 0.586C8.609 0.781 8.758 1.007 8.86 1.264C8.953 1.5 9 1.746 9 2L9 4L11 4C11.418 4 11.799 4.12 12.143 4.359C12.486 4.598 12.731 4.914 12.876 5.306C12.924 5.436 12.919 5.563 12.861 5.689C12.803 5.814 12.71 5.901 12.58 5.949C12.451 5.996 12.323 5.992 12.198 5.934C12.072 5.876 11.986 5.783 11.938 5.653C11.865 5.457 11.743 5.299 11.571 5.179C11.4 5.06 11.209 5 11 5L6 5L6 7L9.5 7C9.641 7 9.759 7.048 9.856 7.144C9.952 7.241 10 7.359 10 7.5C10 7.641 9.952 7.759 9.856 7.856C9.759 7.952 9.641 8 9.5 8L6 8L6 13L8.5 13C8.641 13 8.759 13.048 8.856 13.144C8.952 13.241 9 13.359 9 13.5C9 13.641 8.952 13.759 8.856 13.856C8.759 13.952 8.641 14 8.5 14L2 14C1.724 14 1.488 13.902 1.293 13.707C1.098 13.512 1 13.276 1 13L1 8C0.724 8 0.488 7.902 0.293 7.707C0.098 7.512 0 7.276 0 7L0 6C0 5.746 0.047 5.5 0.14 5.264C0.242 5.007 0.391 4.781 0.586 4.586C0.781 4.391 1.007 4.242 1.264 4.14C1.5 4.047 1.746 4 2 4L2 2C2 1.746 2.047 1.5 2.14 1.264ZM5.144 3.856C5.048 3.759 5 3.641 5 3.5L5 2C5 1.724 4.902 1.488 4.707 1.293C4.512 1.098 4.276 1 4 1C3.724 1 3.488 1.098 3.293 1.293C3.098 1.488 3 1.724 3 2L3 4L5.499 4C5.359 4 5.24 3.952 5.144 3.856ZM8 2C8 1.724 7.902 1.488 7.707 1.293C7.512 1.098 7.276 1 7 1C6.724 1 6.488 1.098 6.293 1.293C6.098 1.488 6 1.724 6 2L6 3.5C6 3.641 5.952 3.759 5.856 3.856C5.76 3.952 5.641 4 5.501 4L8 4L8 2ZM5 7L5 5L2 5C1.724 5 1.488 5.098 1.293 5.293C1.098 5.488 1 5.724 1 6L1 7C1.185 7 1.351 7.044 1.5 7.131C1.584 7.047 1.699 7 1.818 7L5 7ZM11.5 16C11 13 10 12 7 11.5C10 11 11 10 11.5 7C12 10 13 11 16 11.5C13 12 12 13 11.5 16ZM2 8L2 13L5 13L5 8L2 8Z'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M2.14 1.264C2.242 1.007 2.391 0.781 2.586 0.586C2.781 0.391 3.007 0.242 3.264 0.14C3.5 0.047 3.746 0 4 0C4.254 0 4.5 0.047 4.736 0.14C4.993 0.242 5.219 0.391 5.414 0.586C5.444 0.615 5.472 0.646 5.5 0.677C5.528 0.646 5.556 0.615 5.586 0.586C5.781 0.391 6.007 0.242 6.264 0.14C6.5 0.047 6.746 0 7 0C7.254 0 7.5 0.047 7.736 0.14C7.993 0.242 8.219 0.391 8.414 0.586C8.609 0.781 8.758 1.007 8.86 1.264C8.953 1.5 9 1.746 9 2L9 4L11 4C11.418 4 11.799 4.12 12.143 4.359C12.486 4.598 12.731 4.914 12.876 5.306C12.924 5.436 12.919 5.563 12.861 5.689C12.803 5.814 12.71 5.901 12.58 5.949C12.451 5.996 12.323 5.992 12.198 5.934C12.072 5.876 11.986 5.783 11.938 5.653C11.865 5.457 11.743 5.299 11.571 5.179C11.4 5.06 11.209 5 11 5L6 5L6 7L9.5 7C9.641 7 9.759 7.048 9.856 7.144C9.952 7.241 10 7.359 10 7.5C10 7.641 9.952 7.759 9.856 7.856C9.759 7.952 9.641 8 9.5 8L6 8L6 13L8.5 13C8.641 13 8.759 13.048 8.856 13.144C8.952 13.241 9 13.359 9 13.5C9 13.641 8.952 13.759 8.856 13.856C8.759 13.952 8.641 14 8.5 14L2 14C1.724 14 1.488 13.902 1.293 13.707C1.098 13.512 1 13.276 1 13L1 8C0.724 8 0.488 7.902 0.293 7.707C0.098 7.512 0 7.276 0 7L0 6C0 5.746 0.047 5.5 0.14 5.264C0.242 5.007 0.391 4.781 0.586 4.586C0.781 4.391 1.007 4.242 1.264 4.14C1.5 4.047 1.746 4 2 4L2 2C2 1.746 2.047 1.5 2.14 1.264ZM5.144 3.856C5.048 3.759 5 3.641 5 3.5L5 2C5 1.724 4.902 1.488 4.707 1.293C4.512 1.098 4.276 1 4 1C3.724 1 3.488 1.098 3.293 1.293C3.098 1.488 3 1.724 3 2L3 4L5.499 4C5.359 4 5.24 3.952 5.144 3.856ZM8 2C8 1.724 7.902 1.488 7.707 1.293C7.512 1.098 7.276 1 7 1C6.724 1 6.488 1.098 6.293 1.293C6.098 1.488 6 1.724 6 2L6 3.5C6 3.641 5.952 3.759 5.856 3.856C5.76 3.952 5.641 4 5.501 4L8 4L8 2ZM5 7L5 5L2 5C1.724 5 1.488 5.098 1.293 5.293C1.098 5.488 1 5.724 1 6L1 7C1.185 7 1.351 7.044 1.5 7.131C1.584 7.047 1.699 7 1.818 7L5 7ZM11.5 16C11 13 10 12 7 11.5C10 11 11 10 11.5 7C12 10 13 11 16 11.5C13 12 12 13 11.5 16ZM2 8L2 13L5 13L5 8L2 8Z'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
}
```

### Data URL

```text
data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M2.14 1.264C2.242 1.007 2.391 0.781 2.586 0.586C2.781 0.391 3.007 0.242 3.264 0.14C3.5 0.047 3.746 0 4 0C4.254 0 4.5 0.047 4.736 0.14C4.993 0.242 5.219 0.391 5.414 0.586C5.444 0.615 5.472 0.646 5.5 0.677C5.528 0.646 5.556 0.615 5.586 0.586C5.781 0.391 6.007 0.242 6.264 0.14C6.5 0.047 6.746 0 7 0C7.254 0 7.5 0.047 7.736 0.14C7.993 0.242 8.219 0.391 8.414 0.586C8.609 0.781 8.758 1.007 8.86 1.264C8.953 1.5 9 1.746 9 2L9 4L11 4C11.418 4 11.799 4.12 12.143 4.359C12.486 4.598 12.731 4.914 12.876 5.306C12.924 5.436 12.919 5.563 12.861 5.689C12.803 5.814 12.71 5.901 12.58 5.949C12.451 5.996 12.323 5.992 12.198 5.934C12.072 5.876 11.986 5.783 11.938 5.653C11.865 5.457 11.743 5.299 11.571 5.179C11.4 5.06 11.209 5 11 5L6 5L6 7L9.5 7C9.641 7 9.759 7.048 9.856 7.144C9.952 7.241 10 7.359 10 7.5C10 7.641 9.952 7.759 9.856 7.856C9.759 7.952 9.641 8 9.5 8L6 8L6 13L8.5 13C8.641 13 8.759 13.048 8.856 13.144C8.952 13.241 9 13.359 9 13.5C9 13.641 8.952 13.759 8.856 13.856C8.759 13.952 8.641 14 8.5 14L2 14C1.724 14 1.488 13.902 1.293 13.707C1.098 13.512 1 13.276 1 13L1 8C0.724 8 0.488 7.902 0.293 7.707C0.098 7.512 0 7.276 0 7L0 6C0 5.746 0.047 5.5 0.14 5.264C0.242 5.007 0.391 4.781 0.586 4.586C0.781 4.391 1.007 4.242 1.264 4.14C1.5 4.047 1.746 4 2 4L2 2C2 1.746 2.047 1.5 2.14 1.264ZM5.144 3.856C5.048 3.759 5 3.641 5 3.5L5 2C5 1.724 4.902 1.488 4.707 1.293C4.512 1.098 4.276 1 4 1C3.724 1 3.488 1.098 3.293 1.293C3.098 1.488 3 1.724 3 2L3 4L5.499 4C5.359 4 5.24 3.952 5.144 3.856ZM8 2C8 1.724 7.902 1.488 7.707 1.293C7.512 1.098 7.276 1 7 1C6.724 1 6.488 1.098 6.293 1.293C6.098 1.488 6 1.724 6 2L6 3.5C6 3.641 5.952 3.759 5.856 3.856C5.76 3.952 5.641 4 5.501 4L8 4L8 2ZM5 7L5 5L2 5C1.724 5 1.488 5.098 1.293 5.293C1.098 5.488 1 5.724 1 6L1 7C1.185 7 1.351 7.044 1.5 7.131C1.584 7.047 1.699 7 1.818 7L5 7ZM11.5 16C11 13 10 12 7 11.5C10 11 11 10 11.5 7C12 10 13 11 16 11.5C13 12 12 13 11.5 16ZM2 8L2 13L5 13L5 8L2 8Z'/%3E%3C/svg%3E
```

### Sprite

```html
<!-- Gentleface "gift-sparkle" (line-round), MIT. https://gentleface.com/icons/gift-sparkle
     Every icon of this style in one file: https://gentleface.com/sprite/line-round.svg
     Serve it from your own origin: <use> does not load from another origin. -->
<svg width="16" height="16" aria-hidden="true"><use href="/sprite/line-round.svg#gift-sparkle"/></svg>
```

### SwiftUI

```swift
// Gentleface "gift-sparkle" (line-round), MIT. https://gentleface.com/icons/gift-sparkle
import SwiftUI

struct GiftSparkleIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 2.14, y: 1.264))
        p.addCurve(to: CGPoint(x: 2.586, y: 0.586), control1: CGPoint(x: 2.242, y: 1.007), control2: CGPoint(x: 2.391, y: 0.781))
        p.addCurve(to: CGPoint(x: 3.264, y: 0.14), control1: CGPoint(x: 2.781, y: 0.391), control2: CGPoint(x: 3.007, y: 0.242))
        p.addCurve(to: CGPoint(x: 4, y: 0), control1: CGPoint(x: 3.5, y: 0.047), control2: CGPoint(x: 3.746, y: 0))
        p.addCurve(to: CGPoint(x: 4.736, y: 0.14), control1: CGPoint(x: 4.254, y: 0), control2: CGPoint(x: 4.5, y: 0.047))
        p.addCurve(to: CGPoint(x: 5.414, y: 0.586), control1: CGPoint(x: 4.993, y: 0.242), control2: CGPoint(x: 5.219, y: 0.391))
        p.addCurve(to: CGPoint(x: 5.5, y: 0.677), control1: CGPoint(x: 5.444, y: 0.615), control2: CGPoint(x: 5.472, y: 0.646))
        p.addCurve(to: CGPoint(x: 5.586, y: 0.586), control1: CGPoint(x: 5.528, y: 0.646), control2: CGPoint(x: 5.556, y: 0.615))
        p.addCurve(to: CGPoint(x: 6.264, y: 0.14), control1: CGPoint(x: 5.781, y: 0.391), control2: CGPoint(x: 6.007, y: 0.242))
        p.addCurve(to: CGPoint(x: 7, y: 0), control1: CGPoint(x: 6.5, y: 0.047), control2: CGPoint(x: 6.746, y: 0))
        p.addCurve(to: CGPoint(x: 7.736, y: 0.14), control1: CGPoint(x: 7.254, y: 0), control2: CGPoint(x: 7.5, y: 0.047))
        p.addCurve(to: CGPoint(x: 8.414, y: 0.586), control1: CGPoint(x: 7.993, y: 0.242), control2: CGPoint(x: 8.219, y: 0.391))
        p.addCurve(to: CGPoint(x: 8.86, y: 1.264), control1: CGPoint(x: 8.609, y: 0.781), control2: CGPoint(x: 8.758, y: 1.007))
        p.addCurve(to: CGPoint(x: 9, y: 2), control1: CGPoint(x: 8.953, y: 1.5), control2: CGPoint(x: 9, y: 1.746))
        p.addLine(to: CGPoint(x: 9, y: 4))
        p.addLine(to: CGPoint(x: 11, y: 4))
        p.addCurve(to: CGPoint(x: 12.143, y: 4.359), control1: CGPoint(x: 11.418, y: 4), control2: CGPoint(x: 11.799, y: 4.12))
        p.addCurve(to: CGPoint(x: 12.876, y: 5.306), control1: CGPoint(x: 12.486, y: 4.598), control2: CGPoint(x: 12.731, y: 4.914))
        p.addCurve(to: CGPoint(x: 12.861, y: 5.689), control1: CGPoint(x: 12.924, y: 5.436), control2: CGPoint(x: 12.919, y: 5.563))
        p.addCurve(to: CGPoint(x: 12.58, y: 5.949), control1: CGPoint(x: 12.803, y: 5.814), control2: CGPoint(x: 12.71, y: 5.901))
        p.addCurve(to: CGPoint(x: 12.198, y: 5.934), control1: CGPoint(x: 12.451, y: 5.996), control2: CGPoint(x: 12.323, y: 5.992))
        p.addCurve(to: CGPoint(x: 11.938, y: 5.653), control1: CGPoint(x: 12.072, y: 5.876), control2: CGPoint(x: 11.986, y: 5.783))
        p.addCurve(to: CGPoint(x: 11.571, y: 5.179), control1: CGPoint(x: 11.865, y: 5.457), control2: CGPoint(x: 11.743, y: 5.299))
        p.addCurve(to: CGPoint(x: 11, y: 5), control1: CGPoint(x: 11.4, y: 5.06), control2: CGPoint(x: 11.209, y: 5))
        p.addLine(to: CGPoint(x: 6, y: 5))
        p.addLine(to: CGPoint(x: 6, y: 7))
        p.addLine(to: CGPoint(x: 9.5, y: 7))
        p.addCurve(to: CGPoint(x: 9.856, y: 7.144), control1: CGPoint(x: 9.641, y: 7), control2: CGPoint(x: 9.759, y: 7.048))
        p.addCurve(to: CGPoint(x: 10, y: 7.5), control1: CGPoint(x: 9.952, y: 7.241), control2: CGPoint(x: 10, y: 7.359))
        p.addCurve(to: CGPoint(x: 9.856, y: 7.856), control1: CGPoint(x: 10, y: 7.641), control2: CGPoint(x: 9.952, y: 7.759))
        p.addCurve(to: CGPoint(x: 9.5, y: 8), control1: CGPoint(x: 9.759, y: 7.952), control2: CGPoint(x: 9.641, y: 8))
        p.addLine(to: CGPoint(x: 6, y: 8))
        p.addLine(to: CGPoint(x: 6, y: 13))
        p.addLine(to: CGPoint(x: 8.5, y: 13))
        p.addCurve(to: CGPoint(x: 8.856, y: 13.144), control1: CGPoint(x: 8.641, y: 13), control2: CGPoint(x: 8.759, y: 13.048))
        p.addCurve(to: CGPoint(x: 9, y: 13.5), control1: CGPoint(x: 8.952, y: 13.241), control2: CGPoint(x: 9, y: 13.359))
        p.addCurve(to: CGPoint(x: 8.856, y: 13.856), control1: CGPoint(x: 9, y: 13.641), control2: CGPoint(x: 8.952, y: 13.759))
        p.addCurve(to: CGPoint(x: 8.5, y: 14), control1: CGPoint(x: 8.759, y: 13.952), control2: CGPoint(x: 8.641, y: 14))
        p.addLine(to: CGPoint(x: 2, y: 14))
        p.addCurve(to: CGPoint(x: 1.293, y: 13.707), control1: CGPoint(x: 1.724, y: 14), control2: CGPoint(x: 1.488, y: 13.902))
        p.addCurve(to: CGPoint(x: 1, y: 13), control1: CGPoint(x: 1.098, y: 13.512), control2: CGPoint(x: 1, y: 13.276))
        p.addLine(to: CGPoint(x: 1, y: 8))
        p.addCurve(to: CGPoint(x: 0.293, y: 7.707), control1: CGPoint(x: 0.724, y: 8), control2: CGPoint(x: 0.488, y: 7.902))
        p.addCurve(to: CGPoint(x: 0, y: 7), control1: CGPoint(x: 0.098, y: 7.512), control2: CGPoint(x: 0, y: 7.276))
        p.addLine(to: CGPoint(x: 0, y: 6))
        p.addCurve(to: CGPoint(x: 0.14, y: 5.264), control1: CGPoint(x: 0, y: 5.746), control2: CGPoint(x: 0.047, y: 5.5))
        p.addCurve(to: CGPoint(x: 0.586, y: 4.586), control1: CGPoint(x: 0.242, y: 5.007), control2: CGPoint(x: 0.391, y: 4.781))
        p.addCurve(to: CGPoint(x: 1.264, y: 4.14), control1: CGPoint(x: 0.781, y: 4.391), control2: CGPoint(x: 1.007, y: 4.242))
        p.addCurve(to: CGPoint(x: 2, y: 4), control1: CGPoint(x: 1.5, y: 4.047), control2: CGPoint(x: 1.746, y: 4))
        p.addLine(to: CGPoint(x: 2, y: 2))
        p.addCurve(to: CGPoint(x: 2.14, y: 1.264), control1: CGPoint(x: 2, y: 1.746), control2: CGPoint(x: 2.047, y: 1.5))
        p.closeSubpath()
        p.move(to: CGPoint(x: 5.144, y: 3.856))
        p.addCurve(to: CGPoint(x: 5, y: 3.5), control1: CGPoint(x: 5.048, y: 3.759), control2: CGPoint(x: 5, y: 3.641))
        p.addLine(to: CGPoint(x: 5, y: 2))
        p.addCurve(to: CGPoint(x: 4.707, y: 1.293), control1: CGPoint(x: 5, y: 1.724), control2: CGPoint(x: 4.902, y: 1.488))
        p.addCurve(to: CGPoint(x: 4, y: 1), control1: CGPoint(x: 4.512, y: 1.098), control2: CGPoint(x: 4.276, y: 1))
        p.addCurve(to: CGPoint(x: 3.293, y: 1.293), control1: CGPoint(x: 3.724, y: 1), control2: CGPoint(x: 3.488, y: 1.098))
        p.addCurve(to: CGPoint(x: 3, y: 2), control1: CGPoint(x: 3.098, y: 1.488), control2: CGPoint(x: 3, y: 1.724))
        p.addLine(to: CGPoint(x: 3, y: 4))
        p.addLine(to: CGPoint(x: 5.499, y: 4))
        p.addCurve(to: CGPoint(x: 5.144, y: 3.856), control1: CGPoint(x: 5.359, y: 4), control2: CGPoint(x: 5.24, y: 3.952))
        p.closeSubpath()
        p.move(to: CGPoint(x: 8, y: 2))
        p.addCurve(to: CGPoint(x: 7.707, y: 1.293), control1: CGPoint(x: 8, y: 1.724), control2: CGPoint(x: 7.902, y: 1.488))
        p.addCurve(to: CGPoint(x: 7, y: 1), control1: CGPoint(x: 7.512, y: 1.098), control2: CGPoint(x: 7.276, y: 1))
        p.addCurve(to: CGPoint(x: 6.293, y: 1.293), control1: CGPoint(x: 6.724, y: 1), control2: CGPoint(x: 6.488, y: 1.098))
        p.addCurve(to: CGPoint(x: 6, y: 2), control1: CGPoint(x: 6.098, y: 1.488), control2: CGPoint(x: 6, y: 1.724))
        p.addLine(to: CGPoint(x: 6, y: 3.5))
        p.addCurve(to: CGPoint(x: 5.856, y: 3.856), control1: CGPoint(x: 6, y: 3.641), control2: CGPoint(x: 5.952, y: 3.759))
        p.addCurve(to: CGPoint(x: 5.501, y: 4), control1: CGPoint(x: 5.76, y: 3.952), control2: CGPoint(x: 5.641, y: 4))
        p.addLine(to: CGPoint(x: 8, y: 4))
        p.addLine(to: CGPoint(x: 8, y: 2))
        p.closeSubpath()
        p.move(to: CGPoint(x: 5, y: 7))
        p.addLine(to: CGPoint(x: 5, y: 5))
        p.addLine(to: CGPoint(x: 2, y: 5))
        p.addCurve(to: CGPoint(x: 1.293, y: 5.293), control1: CGPoint(x: 1.724, y: 5), control2: CGPoint(x: 1.488, y: 5.098))
        p.addCurve(to: CGPoint(x: 1, y: 6), control1: CGPoint(x: 1.098, y: 5.488), control2: CGPoint(x: 1, y: 5.724))
        p.addLine(to: CGPoint(x: 1, y: 7))
        p.addCurve(to: CGPoint(x: 1.5, y: 7.131), control1: CGPoint(x: 1.185, y: 7), control2: CGPoint(x: 1.351, y: 7.044))
        p.addCurve(to: CGPoint(x: 1.818, y: 7), control1: CGPoint(x: 1.584, y: 7.047), control2: CGPoint(x: 1.699, y: 7))
        p.addLine(to: CGPoint(x: 5, y: 7))
        p.closeSubpath()
        p.move(to: CGPoint(x: 11.5, y: 16))
        p.addCurve(to: CGPoint(x: 7, y: 11.5), control1: CGPoint(x: 11, y: 13), control2: CGPoint(x: 10, y: 12))
        p.addCurve(to: CGPoint(x: 11.5, y: 7), control1: CGPoint(x: 10, y: 11), control2: CGPoint(x: 11, y: 10))
        p.addCurve(to: CGPoint(x: 16, y: 11.5), control1: CGPoint(x: 12, y: 10), control2: CGPoint(x: 13, y: 11))
        p.addCurve(to: CGPoint(x: 11.5, y: 16), control1: CGPoint(x: 13, y: 12), control2: CGPoint(x: 12, y: 13))
        p.closeSubpath()
        p.move(to: CGPoint(x: 2, y: 8))
        p.addLine(to: CGPoint(x: 2, y: 13))
        p.addLine(to: CGPoint(x: 5, y: 13))
        p.addLine(to: CGPoint(x: 5, y: 8))
        p.addLine(to: CGPoint(x: 2, y: 8))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

// GiftSparkleIcon().frame(width: 16, height: 16) fills with the foreground style. Keep it on whole points to stay crisp.
```

### Compose

```kotlin
// Gentleface "gift-sparkle" (line-round), MIT. https://gentleface.com/icons/gift-sparkle
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.addPathNodes
import androidx.compose.ui.unit.dp

val GiftSparkleIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "gift-sparkle", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M2.14 1.264C2.242 1.007 2.391 0.781 2.586 0.586C2.781 0.391 3.007 0.242 3.264 0.14C3.5 0.047 3.746 0 4 0C4.254 0 4.5 0.047 4.736 0.14C4.993 0.242 5.219 0.391 5.414 0.586C5.444 0.615 5.472 0.646 5.5 0.677C5.528 0.646 5.556 0.615 5.586 0.586C5.781 0.391 6.007 0.242 6.264 0.14C6.5 0.047 6.746 0 7 0C7.254 0 7.5 0.047 7.736 0.14C7.993 0.242 8.219 0.391 8.414 0.586C8.609 0.781 8.758 1.007 8.86 1.264C8.953 1.5 9 1.746 9 2L9 4L11 4C11.418 4 11.799 4.12 12.143 4.359C12.486 4.598 12.731 4.914 12.876 5.306C12.924 5.436 12.919 5.563 12.861 5.689C12.803 5.814 12.71 5.901 12.58 5.949C12.451 5.996 12.323 5.992 12.198 5.934C12.072 5.876 11.986 5.783 11.938 5.653C11.865 5.457 11.743 5.299 11.571 5.179C11.4 5.06 11.209 5 11 5L6 5L6 7L9.5 7C9.641 7 9.759 7.048 9.856 7.144C9.952 7.241 10 7.359 10 7.5C10 7.641 9.952 7.759 9.856 7.856C9.759 7.952 9.641 8 9.5 8L6 8L6 13L8.5 13C8.641 13 8.759 13.048 8.856 13.144C8.952 13.241 9 13.359 9 13.5C9 13.641 8.952 13.759 8.856 13.856C8.759 13.952 8.641 14 8.5 14L2 14C1.724 14 1.488 13.902 1.293 13.707C1.098 13.512 1 13.276 1 13L1 8C0.724 8 0.488 7.902 0.293 7.707C0.098 7.512 0 7.276 0 7L0 6C0 5.746 0.047 5.5 0.14 5.264C0.242 5.007 0.391 4.781 0.586 4.586C0.781 4.391 1.007 4.242 1.264 4.14C1.5 4.047 1.746 4 2 4L2 2C2 1.746 2.047 1.5 2.14 1.264ZM5.144 3.856C5.048 3.759 5 3.641 5 3.5L5 2C5 1.724 4.902 1.488 4.707 1.293C4.512 1.098 4.276 1 4 1C3.724 1 3.488 1.098 3.293 1.293C3.098 1.488 3 1.724 3 2L3 4L5.499 4C5.359 4 5.24 3.952 5.144 3.856ZM8 2C8 1.724 7.902 1.488 7.707 1.293C7.512 1.098 7.276 1 7 1C6.724 1 6.488 1.098 6.293 1.293C6.098 1.488 6 1.724 6 2L6 3.5C6 3.641 5.952 3.759 5.856 3.856C5.76 3.952 5.641 4 5.501 4L8 4L8 2ZM5 7L5 5L2 5C1.724 5 1.488 5.098 1.293 5.293C1.098 5.488 1 5.724 1 6L1 7C1.185 7 1.351 7.044 1.5 7.131C1.584 7.047 1.699 7 1.818 7L5 7ZM11.5 16C11 13 10 12 7 11.5C10 11 11 10 11.5 7C12 10 13 11 16 11.5C13 12 12 13 11.5 16ZM2 8L2 13L5 13L5 8L2 8Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

// Icon(GiftSparkleIcon, contentDescription = null) tints it with LocalContentColor.
```

### Android XML

```xml
<!-- res/drawable/ic_gift_sparkle.xml · Gentleface "gift-sparkle" (line-round), MIT. https://gentleface.com/icons/gift-sparkle -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="16dp"
    android:height="16dp"
    android:viewportWidth="16"
    android:viewportHeight="16"
    android:tint="?attr/colorControlNormal">
  <path
      android:fillColor="@android:color/white"
      android:pathData="M2.14 1.264C2.242 1.007 2.391 0.781 2.586 0.586C2.781 0.391 3.007 0.242 3.264 0.14C3.5 0.047 3.746 0 4 0C4.254 0 4.5 0.047 4.736 0.14C4.993 0.242 5.219 0.391 5.414 0.586C5.444 0.615 5.472 0.646 5.5 0.677C5.528 0.646 5.556 0.615 5.586 0.586C5.781 0.391 6.007 0.242 6.264 0.14C6.5 0.047 6.746 0 7 0C7.254 0 7.5 0.047 7.736 0.14C7.993 0.242 8.219 0.391 8.414 0.586C8.609 0.781 8.758 1.007 8.86 1.264C8.953 1.5 9 1.746 9 2L9 4L11 4C11.418 4 11.799 4.12 12.143 4.359C12.486 4.598 12.731 4.914 12.876 5.306C12.924 5.436 12.919 5.563 12.861 5.689C12.803 5.814 12.71 5.901 12.58 5.949C12.451 5.996 12.323 5.992 12.198 5.934C12.072 5.876 11.986 5.783 11.938 5.653C11.865 5.457 11.743 5.299 11.571 5.179C11.4 5.06 11.209 5 11 5L6 5L6 7L9.5 7C9.641 7 9.759 7.048 9.856 7.144C9.952 7.241 10 7.359 10 7.5C10 7.641 9.952 7.759 9.856 7.856C9.759 7.952 9.641 8 9.5 8L6 8L6 13L8.5 13C8.641 13 8.759 13.048 8.856 13.144C8.952 13.241 9 13.359 9 13.5C9 13.641 8.952 13.759 8.856 13.856C8.759 13.952 8.641 14 8.5 14L2 14C1.724 14 1.488 13.902 1.293 13.707C1.098 13.512 1 13.276 1 13L1 8C0.724 8 0.488 7.902 0.293 7.707C0.098 7.512 0 7.276 0 7L0 6C0 5.746 0.047 5.5 0.14 5.264C0.242 5.007 0.391 4.781 0.586 4.586C0.781 4.391 1.007 4.242 1.264 4.14C1.5 4.047 1.746 4 2 4L2 2C2 1.746 2.047 1.5 2.14 1.264ZM5.144 3.856C5.048 3.759 5 3.641 5 3.5L5 2C5 1.724 4.902 1.488 4.707 1.293C4.512 1.098 4.276 1 4 1C3.724 1 3.488 1.098 3.293 1.293C3.098 1.488 3 1.724 3 2L3 4L5.499 4C5.359 4 5.24 3.952 5.144 3.856ZM8 2C8 1.724 7.902 1.488 7.707 1.293C7.512 1.098 7.276 1 7 1C6.724 1 6.488 1.098 6.293 1.293C6.098 1.488 6 1.724 6 2L6 3.5C6 3.641 5.952 3.759 5.856 3.856C5.76 3.952 5.641 4 5.501 4L8 4L8 2ZM5 7L5 5L2 5C1.724 5 1.488 5.098 1.293 5.293C1.098 5.488 1 5.724 1 6L1 7C1.185 7 1.351 7.044 1.5 7.131C1.584 7.047 1.699 7 1.818 7L5 7ZM11.5 16C11 13 10 12 7 11.5C10 11 11 10 11.5 7C12 10 13 11 16 11.5C13 12 12 13 11.5 16ZM2 8L2 13L5 13L5 8L2 8Z"/>
</vector>
```

### Flutter

```dart
// Gentleface "gift-sparkle" (line-round), MIT. https://gentleface.com/icons/gift-sparkle
import 'package:flutter/widgets.dart';

class GiftSparkleIcon extends StatelessWidget {
  const GiftSparkleIcon({super.key, this.size = 16, this.color});
  final double size;
  final Color? color;

  @override
  Widget build(BuildContext context) => CustomPaint(
        size: Size.square(size),
        painter: _GiftSparkleIconPainter(color ?? IconTheme.of(context).color ?? const Color(0xFF000000)),
      );
}

class _GiftSparkleIconPainter extends CustomPainter {
  _GiftSparkleIconPainter(this.color);
  final Color color;

  @override
  void paint(Canvas canvas, Size size) {
    canvas.scale(size.width / 16, size.height / 16);
    final p = Path()
      ..moveTo(2.14, 1.264)
      ..cubicTo(2.242, 1.007, 2.391, 0.781, 2.586, 0.586)
      ..cubicTo(2.781, 0.391, 3.007, 0.242, 3.264, 0.14)
      ..cubicTo(3.5, 0.047, 3.746, 0, 4, 0)
      ..cubicTo(4.254, 0, 4.5, 0.047, 4.736, 0.14)
      ..cubicTo(4.993, 0.242, 5.219, 0.391, 5.414, 0.586)
      ..cubicTo(5.444, 0.615, 5.472, 0.646, 5.5, 0.677)
      ..cubicTo(5.528, 0.646, 5.556, 0.615, 5.586, 0.586)
      ..cubicTo(5.781, 0.391, 6.007, 0.242, 6.264, 0.14)
      ..cubicTo(6.5, 0.047, 6.746, 0, 7, 0)
      ..cubicTo(7.254, 0, 7.5, 0.047, 7.736, 0.14)
      ..cubicTo(7.993, 0.242, 8.219, 0.391, 8.414, 0.586)
      ..cubicTo(8.609, 0.781, 8.758, 1.007, 8.86, 1.264)
      ..cubicTo(8.953, 1.5, 9, 1.746, 9, 2)
      ..lineTo(9, 4)
      ..lineTo(11, 4)
      ..cubicTo(11.418, 4, 11.799, 4.12, 12.143, 4.359)
      ..cubicTo(12.486, 4.598, 12.731, 4.914, 12.876, 5.306)
      ..cubicTo(12.924, 5.436, 12.919, 5.563, 12.861, 5.689)
      ..cubicTo(12.803, 5.814, 12.71, 5.901, 12.58, 5.949)
      ..cubicTo(12.451, 5.996, 12.323, 5.992, 12.198, 5.934)
      ..cubicTo(12.072, 5.876, 11.986, 5.783, 11.938, 5.653)
      ..cubicTo(11.865, 5.457, 11.743, 5.299, 11.571, 5.179)
      ..cubicTo(11.4, 5.06, 11.209, 5, 11, 5)
      ..lineTo(6, 5)
      ..lineTo(6, 7)
      ..lineTo(9.5, 7)
      ..cubicTo(9.641, 7, 9.759, 7.048, 9.856, 7.144)
      ..cubicTo(9.952, 7.241, 10, 7.359, 10, 7.5)
      ..cubicTo(10, 7.641, 9.952, 7.759, 9.856, 7.856)
      ..cubicTo(9.759, 7.952, 9.641, 8, 9.5, 8)
      ..lineTo(6, 8)
      ..lineTo(6, 13)
      ..lineTo(8.5, 13)
      ..cubicTo(8.641, 13, 8.759, 13.048, 8.856, 13.144)
      ..cubicTo(8.952, 13.241, 9, 13.359, 9, 13.5)
      ..cubicTo(9, 13.641, 8.952, 13.759, 8.856, 13.856)
      ..cubicTo(8.759, 13.952, 8.641, 14, 8.5, 14)
      ..lineTo(2, 14)
      ..cubicTo(1.724, 14, 1.488, 13.902, 1.293, 13.707)
      ..cubicTo(1.098, 13.512, 1, 13.276, 1, 13)
      ..lineTo(1, 8)
      ..cubicTo(0.724, 8, 0.488, 7.902, 0.293, 7.707)
      ..cubicTo(0.098, 7.512, 0, 7.276, 0, 7)
      ..lineTo(0, 6)
      ..cubicTo(0, 5.746, 0.047, 5.5, 0.14, 5.264)
      ..cubicTo(0.242, 5.007, 0.391, 4.781, 0.586, 4.586)
      ..cubicTo(0.781, 4.391, 1.007, 4.242, 1.264, 4.14)
      ..cubicTo(1.5, 4.047, 1.746, 4, 2, 4)
      ..lineTo(2, 2)
      ..cubicTo(2, 1.746, 2.047, 1.5, 2.14, 1.264)
      ..close()
      ..moveTo(5.144, 3.856)
      ..cubicTo(5.048, 3.759, 5, 3.641, 5, 3.5)
      ..lineTo(5, 2)
      ..cubicTo(5, 1.724, 4.902, 1.488, 4.707, 1.293)
      ..cubicTo(4.512, 1.098, 4.276, 1, 4, 1)
      ..cubicTo(3.724, 1, 3.488, 1.098, 3.293, 1.293)
      ..cubicTo(3.098, 1.488, 3, 1.724, 3, 2)
      ..lineTo(3, 4)
      ..lineTo(5.499, 4)
      ..cubicTo(5.359, 4, 5.24, 3.952, 5.144, 3.856)
      ..close()
      ..moveTo(8, 2)
      ..cubicTo(8, 1.724, 7.902, 1.488, 7.707, 1.293)
      ..cubicTo(7.512, 1.098, 7.276, 1, 7, 1)
      ..cubicTo(6.724, 1, 6.488, 1.098, 6.293, 1.293)
      ..cubicTo(6.098, 1.488, 6, 1.724, 6, 2)
      ..lineTo(6, 3.5)
      ..cubicTo(6, 3.641, 5.952, 3.759, 5.856, 3.856)
      ..cubicTo(5.76, 3.952, 5.641, 4, 5.501, 4)
      ..lineTo(8, 4)
      ..lineTo(8, 2)
      ..close()
      ..moveTo(5, 7)
      ..lineTo(5, 5)
      ..lineTo(2, 5)
      ..cubicTo(1.724, 5, 1.488, 5.098, 1.293, 5.293)
      ..cubicTo(1.098, 5.488, 1, 5.724, 1, 6)
      ..lineTo(1, 7)
      ..cubicTo(1.185, 7, 1.351, 7.044, 1.5, 7.131)
      ..cubicTo(1.584, 7.047, 1.699, 7, 1.818, 7)
      ..lineTo(5, 7)
      ..close()
      ..moveTo(11.5, 16)
      ..cubicTo(11, 13, 10, 12, 7, 11.5)
      ..cubicTo(10, 11, 11, 10, 11.5, 7)
      ..cubicTo(12, 10, 13, 11, 16, 11.5)
      ..cubicTo(13, 12, 12, 13, 11.5, 16)
      ..close()
      ..moveTo(2, 8)
      ..lineTo(2, 13)
      ..lineTo(5, 13)
      ..lineTo(5, 8)
      ..lineTo(2, 8)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

  @override
  bool shouldRepaint(_GiftSparkleIconPainter old) => old.color != color;
}
```
