# list-sparkle icon

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

- Category: Text & formatting
- Use it for: ai summary, summarize, summarise, tldr
- Example: Summarize this thread or meeting
- Built from: list + sparkle
- Tags: list, bullets, items, unordered, view, sparkle
- Family: list, checklist, list-ordered, list-pencil, list-plus, list-tree, list-user
- Component name: ListSparkleIcon
- Added: 2026-10-15

## Alternatives

- `file-sparkle`: summarize a whole document (summarize-document)

## Also fits

- summarize document: summarize content that is not a document (summarize)
- notification summary: an AI summary of a document or thread, not of notifications

## Files

Each SVG is 16 × 16 with fill="currentColor". Keep it at 16 px or an exact multiple (32, 48) on whole pixels: a fractional size or position blurs it.

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

The SVG of every style: https://gentleface.com/icons/list-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="M1.439 2.439C1.732 2.146 2.086 2 2.5 2C2.914 2 3.268 2.146 3.561 2.439C3.854 2.732 4 3.086 4 3.5C4 3.914 3.854 4.268 3.561 4.561C3.268 4.854 2.914 5 2.5 5C2.086 5 1.732 4.854 1.439 4.561C1.146 4.268 1 3.914 1 3.5C1 3.086 1.146 2.732 1.439 2.439ZM6.144 3.856C6.048 3.759 6 3.641 6 3.5C6 3.359 6.048 3.241 6.144 3.144C6.241 3.048 6.359 3 6.5 3L13.5 3C13.641 3 13.759 3.048 13.856 3.144C13.952 3.241 14 3.359 14 3.5C14 3.641 13.952 3.759 13.856 3.856C13.759 3.952 13.641 4 13.5 4L6.5 4C6.359 4 6.241 3.952 6.144 3.856ZM3.561 6.439C3.854 6.732 4 7.086 4 7.5C4 7.914 3.854 8.268 3.561 8.561C3.268 8.854 2.914 9 2.5 9C2.086 9 1.732 8.854 1.439 8.561C1.146 8.268 1 7.914 1 7.5C1 7.086 1.146 6.732 1.439 6.439C1.732 6.146 2.086 6 2.5 6C2.914 6 3.268 6.146 3.561 6.439ZM6.144 7.856C6.048 7.759 6 7.641 6 7.5C6 7.359 6.048 7.241 6.144 7.144C6.241 7.048 6.359 7 6.5 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.5 8C6.359 8 6.241 7.952 6.144 7.856ZM11.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 16ZM1.439 10.439C1.732 10.146 2.086 10 2.5 10C2.914 10 3.268 10.146 3.561 10.439C3.854 10.732 4 11.086 4 11.5C4 11.914 3.854 12.268 3.561 12.561C3.268 12.854 2.914 13 2.5 13C2.086 13 1.732 12.854 1.439 12.561C1.146 12.268 1 11.914 1 11.5C1 11.086 1.146 10.732 1.439 10.439Z"/></svg>
```

### React

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

export function ListSparkleIcon(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="M1.439 2.439C1.732 2.146 2.086 2 2.5 2C2.914 2 3.268 2.146 3.561 2.439C3.854 2.732 4 3.086 4 3.5C4 3.914 3.854 4.268 3.561 4.561C3.268 4.854 2.914 5 2.5 5C2.086 5 1.732 4.854 1.439 4.561C1.146 4.268 1 3.914 1 3.5C1 3.086 1.146 2.732 1.439 2.439ZM6.144 3.856C6.048 3.759 6 3.641 6 3.5C6 3.359 6.048 3.241 6.144 3.144C6.241 3.048 6.359 3 6.5 3L13.5 3C13.641 3 13.759 3.048 13.856 3.144C13.952 3.241 14 3.359 14 3.5C14 3.641 13.952 3.759 13.856 3.856C13.759 3.952 13.641 4 13.5 4L6.5 4C6.359 4 6.241 3.952 6.144 3.856ZM3.561 6.439C3.854 6.732 4 7.086 4 7.5C4 7.914 3.854 8.268 3.561 8.561C3.268 8.854 2.914 9 2.5 9C2.086 9 1.732 8.854 1.439 8.561C1.146 8.268 1 7.914 1 7.5C1 7.086 1.146 6.732 1.439 6.439C1.732 6.146 2.086 6 2.5 6C2.914 6 3.268 6.146 3.561 6.439ZM6.144 7.856C6.048 7.759 6 7.641 6 7.5C6 7.359 6.048 7.241 6.144 7.144C6.241 7.048 6.359 7 6.5 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.5 8C6.359 8 6.241 7.952 6.144 7.856ZM11.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 16ZM1.439 10.439C1.732 10.146 2.086 10 2.5 10C2.914 10 3.268 10.146 3.561 10.439C3.854 10.732 4 11.086 4 11.5C4 11.914 3.854 12.268 3.561 12.561C3.268 12.854 2.914 13 2.5 13C2.086 13 1.732 12.854 1.439 12.561C1.146 12.268 1 11.914 1 11.5C1 11.086 1.146 10.732 1.439 10.439Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "list-sparkle" (line-round), MIT. https://gentleface.com/icons/list-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="M1.439 2.439C1.732 2.146 2.086 2 2.5 2C2.914 2 3.268 2.146 3.561 2.439C3.854 2.732 4 3.086 4 3.5C4 3.914 3.854 4.268 3.561 4.561C3.268 4.854 2.914 5 2.5 5C2.086 5 1.732 4.854 1.439 4.561C1.146 4.268 1 3.914 1 3.5C1 3.086 1.146 2.732 1.439 2.439ZM6.144 3.856C6.048 3.759 6 3.641 6 3.5C6 3.359 6.048 3.241 6.144 3.144C6.241 3.048 6.359 3 6.5 3L13.5 3C13.641 3 13.759 3.048 13.856 3.144C13.952 3.241 14 3.359 14 3.5C14 3.641 13.952 3.759 13.856 3.856C13.759 3.952 13.641 4 13.5 4L6.5 4C6.359 4 6.241 3.952 6.144 3.856ZM3.561 6.439C3.854 6.732 4 7.086 4 7.5C4 7.914 3.854 8.268 3.561 8.561C3.268 8.854 2.914 9 2.5 9C2.086 9 1.732 8.854 1.439 8.561C1.146 8.268 1 7.914 1 7.5C1 7.086 1.146 6.732 1.439 6.439C1.732 6.146 2.086 6 2.5 6C2.914 6 3.268 6.146 3.561 6.439ZM6.144 7.856C6.048 7.759 6 7.641 6 7.5C6 7.359 6.048 7.241 6.144 7.144C6.241 7.048 6.359 7 6.5 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.5 8C6.359 8 6.241 7.952 6.144 7.856ZM11.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 16ZM1.439 10.439C1.732 10.146 2.086 10 2.5 10C2.914 10 3.268 10.146 3.561 10.439C3.854 10.732 4 11.086 4 11.5C4 11.914 3.854 12.268 3.561 12.561C3.268 12.854 2.914 13 2.5 13C2.086 13 1.732 12.854 1.439 12.561C1.146 12.268 1 11.914 1 11.5C1 11.086 1.146 10.732 1.439 10.439Z" />
  </svg>
</template>
```

### Svelte

```svelte
<!-- Gentleface "list-sparkle" (line-round), MIT. https://gentleface.com/icons/list-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="M1.439 2.439C1.732 2.146 2.086 2 2.5 2C2.914 2 3.268 2.146 3.561 2.439C3.854 2.732 4 3.086 4 3.5C4 3.914 3.854 4.268 3.561 4.561C3.268 4.854 2.914 5 2.5 5C2.086 5 1.732 4.854 1.439 4.561C1.146 4.268 1 3.914 1 3.5C1 3.086 1.146 2.732 1.439 2.439ZM6.144 3.856C6.048 3.759 6 3.641 6 3.5C6 3.359 6.048 3.241 6.144 3.144C6.241 3.048 6.359 3 6.5 3L13.5 3C13.641 3 13.759 3.048 13.856 3.144C13.952 3.241 14 3.359 14 3.5C14 3.641 13.952 3.759 13.856 3.856C13.759 3.952 13.641 4 13.5 4L6.5 4C6.359 4 6.241 3.952 6.144 3.856ZM3.561 6.439C3.854 6.732 4 7.086 4 7.5C4 7.914 3.854 8.268 3.561 8.561C3.268 8.854 2.914 9 2.5 9C2.086 9 1.732 8.854 1.439 8.561C1.146 8.268 1 7.914 1 7.5C1 7.086 1.146 6.732 1.439 6.439C1.732 6.146 2.086 6 2.5 6C2.914 6 3.268 6.146 3.561 6.439ZM6.144 7.856C6.048 7.759 6 7.641 6 7.5C6 7.359 6.048 7.241 6.144 7.144C6.241 7.048 6.359 7 6.5 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.5 8C6.359 8 6.241 7.952 6.144 7.856ZM11.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 16ZM1.439 10.439C1.732 10.146 2.086 10 2.5 10C2.914 10 3.268 10.146 3.561 10.439C3.854 10.732 4 11.086 4 11.5C4 11.914 3.854 12.268 3.561 12.561C3.268 12.854 2.914 13 2.5 13C2.086 13 1.732 12.854 1.439 12.561C1.146 12.268 1 11.914 1 11.5C1 11.086 1.146 10.732 1.439 10.439Z" />
</svg>
```

### HTML img

```html
<!-- Gentleface "list-sparkle" (line-round), MIT. https://gentleface.com/icons/list-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/list-sparkle.svg" width="16" height="16" alt="">
```

### CSS

```css
/* Gentleface "list-sparkle" (line-round), MIT. https://gentleface.com/icons/list-sparkle. Takes the text color. */
.icon-list-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='M1.439 2.439C1.732 2.146 2.086 2 2.5 2C2.914 2 3.268 2.146 3.561 2.439C3.854 2.732 4 3.086 4 3.5C4 3.914 3.854 4.268 3.561 4.561C3.268 4.854 2.914 5 2.5 5C2.086 5 1.732 4.854 1.439 4.561C1.146 4.268 1 3.914 1 3.5C1 3.086 1.146 2.732 1.439 2.439ZM6.144 3.856C6.048 3.759 6 3.641 6 3.5C6 3.359 6.048 3.241 6.144 3.144C6.241 3.048 6.359 3 6.5 3L13.5 3C13.641 3 13.759 3.048 13.856 3.144C13.952 3.241 14 3.359 14 3.5C14 3.641 13.952 3.759 13.856 3.856C13.759 3.952 13.641 4 13.5 4L6.5 4C6.359 4 6.241 3.952 6.144 3.856ZM3.561 6.439C3.854 6.732 4 7.086 4 7.5C4 7.914 3.854 8.268 3.561 8.561C3.268 8.854 2.914 9 2.5 9C2.086 9 1.732 8.854 1.439 8.561C1.146 8.268 1 7.914 1 7.5C1 7.086 1.146 6.732 1.439 6.439C1.732 6.146 2.086 6 2.5 6C2.914 6 3.268 6.146 3.561 6.439ZM6.144 7.856C6.048 7.759 6 7.641 6 7.5C6 7.359 6.048 7.241 6.144 7.144C6.241 7.048 6.359 7 6.5 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.5 8C6.359 8 6.241 7.952 6.144 7.856ZM11.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 16ZM1.439 10.439C1.732 10.146 2.086 10 2.5 10C2.914 10 3.268 10.146 3.561 10.439C3.854 10.732 4 11.086 4 11.5C4 11.914 3.854 12.268 3.561 12.561C3.268 12.854 2.914 13 2.5 13C2.086 13 1.732 12.854 1.439 12.561C1.146 12.268 1 11.914 1 11.5C1 11.086 1.146 10.732 1.439 10.439Z'/%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='M1.439 2.439C1.732 2.146 2.086 2 2.5 2C2.914 2 3.268 2.146 3.561 2.439C3.854 2.732 4 3.086 4 3.5C4 3.914 3.854 4.268 3.561 4.561C3.268 4.854 2.914 5 2.5 5C2.086 5 1.732 4.854 1.439 4.561C1.146 4.268 1 3.914 1 3.5C1 3.086 1.146 2.732 1.439 2.439ZM6.144 3.856C6.048 3.759 6 3.641 6 3.5C6 3.359 6.048 3.241 6.144 3.144C6.241 3.048 6.359 3 6.5 3L13.5 3C13.641 3 13.759 3.048 13.856 3.144C13.952 3.241 14 3.359 14 3.5C14 3.641 13.952 3.759 13.856 3.856C13.759 3.952 13.641 4 13.5 4L6.5 4C6.359 4 6.241 3.952 6.144 3.856ZM3.561 6.439C3.854 6.732 4 7.086 4 7.5C4 7.914 3.854 8.268 3.561 8.561C3.268 8.854 2.914 9 2.5 9C2.086 9 1.732 8.854 1.439 8.561C1.146 8.268 1 7.914 1 7.5C1 7.086 1.146 6.732 1.439 6.439C1.732 6.146 2.086 6 2.5 6C2.914 6 3.268 6.146 3.561 6.439ZM6.144 7.856C6.048 7.759 6 7.641 6 7.5C6 7.359 6.048 7.241 6.144 7.144C6.241 7.048 6.359 7 6.5 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.5 8C6.359 8 6.241 7.952 6.144 7.856ZM11.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 16ZM1.439 10.439C1.732 10.146 2.086 10 2.5 10C2.914 10 3.268 10.146 3.561 10.439C3.854 10.732 4 11.086 4 11.5C4 11.914 3.854 12.268 3.561 12.561C3.268 12.854 2.914 13 2.5 13C2.086 13 1.732 12.854 1.439 12.561C1.146 12.268 1 11.914 1 11.5C1 11.086 1.146 10.732 1.439 10.439Z'/%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='M1.439 2.439C1.732 2.146 2.086 2 2.5 2C2.914 2 3.268 2.146 3.561 2.439C3.854 2.732 4 3.086 4 3.5C4 3.914 3.854 4.268 3.561 4.561C3.268 4.854 2.914 5 2.5 5C2.086 5 1.732 4.854 1.439 4.561C1.146 4.268 1 3.914 1 3.5C1 3.086 1.146 2.732 1.439 2.439ZM6.144 3.856C6.048 3.759 6 3.641 6 3.5C6 3.359 6.048 3.241 6.144 3.144C6.241 3.048 6.359 3 6.5 3L13.5 3C13.641 3 13.759 3.048 13.856 3.144C13.952 3.241 14 3.359 14 3.5C14 3.641 13.952 3.759 13.856 3.856C13.759 3.952 13.641 4 13.5 4L6.5 4C6.359 4 6.241 3.952 6.144 3.856ZM3.561 6.439C3.854 6.732 4 7.086 4 7.5C4 7.914 3.854 8.268 3.561 8.561C3.268 8.854 2.914 9 2.5 9C2.086 9 1.732 8.854 1.439 8.561C1.146 8.268 1 7.914 1 7.5C1 7.086 1.146 6.732 1.439 6.439C1.732 6.146 2.086 6 2.5 6C2.914 6 3.268 6.146 3.561 6.439ZM6.144 7.856C6.048 7.759 6 7.641 6 7.5C6 7.359 6.048 7.241 6.144 7.144C6.241 7.048 6.359 7 6.5 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.5 8C6.359 8 6.241 7.952 6.144 7.856ZM11.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 16ZM1.439 10.439C1.732 10.146 2.086 10 2.5 10C2.914 10 3.268 10.146 3.561 10.439C3.854 10.732 4 11.086 4 11.5C4 11.914 3.854 12.268 3.561 12.561C3.268 12.854 2.914 13 2.5 13C2.086 13 1.732 12.854 1.439 12.561C1.146 12.268 1 11.914 1 11.5C1 11.086 1.146 10.732 1.439 10.439Z'/%3E%3C/svg%3E
```

### Sprite

```html
<!-- Gentleface "list-sparkle" (line-round), MIT. https://gentleface.com/icons/list-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#list-sparkle"/></svg>
```

### SwiftUI

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

struct ListSparkleIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 1.439, y: 2.439))
        p.addCurve(to: CGPoint(x: 2.5, y: 2), control1: CGPoint(x: 1.732, y: 2.146), control2: CGPoint(x: 2.086, y: 2))
        p.addCurve(to: CGPoint(x: 3.561, y: 2.439), control1: CGPoint(x: 2.914, y: 2), control2: CGPoint(x: 3.268, y: 2.146))
        p.addCurve(to: CGPoint(x: 4, y: 3.5), control1: CGPoint(x: 3.854, y: 2.732), control2: CGPoint(x: 4, y: 3.086))
        p.addCurve(to: CGPoint(x: 3.561, y: 4.561), control1: CGPoint(x: 4, y: 3.914), control2: CGPoint(x: 3.854, y: 4.268))
        p.addCurve(to: CGPoint(x: 2.5, y: 5), control1: CGPoint(x: 3.268, y: 4.854), control2: CGPoint(x: 2.914, y: 5))
        p.addCurve(to: CGPoint(x: 1.439, y: 4.561), control1: CGPoint(x: 2.086, y: 5), control2: CGPoint(x: 1.732, y: 4.854))
        p.addCurve(to: CGPoint(x: 1, y: 3.5), control1: CGPoint(x: 1.146, y: 4.268), control2: CGPoint(x: 1, y: 3.914))
        p.addCurve(to: CGPoint(x: 1.439, y: 2.439), control1: CGPoint(x: 1, y: 3.086), control2: CGPoint(x: 1.146, y: 2.732))
        p.closeSubpath()
        p.move(to: CGPoint(x: 6.144, y: 3.856))
        p.addCurve(to: CGPoint(x: 6, y: 3.5), control1: CGPoint(x: 6.048, y: 3.759), control2: CGPoint(x: 6, y: 3.641))
        p.addCurve(to: CGPoint(x: 6.144, y: 3.144), control1: CGPoint(x: 6, y: 3.359), control2: CGPoint(x: 6.048, y: 3.241))
        p.addCurve(to: CGPoint(x: 6.5, y: 3), control1: CGPoint(x: 6.241, y: 3.048), control2: CGPoint(x: 6.359, y: 3))
        p.addLine(to: CGPoint(x: 13.5, y: 3))
        p.addCurve(to: CGPoint(x: 13.856, y: 3.144), control1: CGPoint(x: 13.641, y: 3), control2: CGPoint(x: 13.759, y: 3.048))
        p.addCurve(to: CGPoint(x: 14, y: 3.5), control1: CGPoint(x: 13.952, y: 3.241), control2: CGPoint(x: 14, y: 3.359))
        p.addCurve(to: CGPoint(x: 13.856, y: 3.856), control1: CGPoint(x: 14, y: 3.641), control2: CGPoint(x: 13.952, y: 3.759))
        p.addCurve(to: CGPoint(x: 13.5, y: 4), control1: CGPoint(x: 13.759, y: 3.952), control2: CGPoint(x: 13.641, y: 4))
        p.addLine(to: CGPoint(x: 6.5, y: 4))
        p.addCurve(to: CGPoint(x: 6.144, y: 3.856), control1: CGPoint(x: 6.359, y: 4), control2: CGPoint(x: 6.241, y: 3.952))
        p.closeSubpath()
        p.move(to: CGPoint(x: 3.561, y: 6.439))
        p.addCurve(to: CGPoint(x: 4, y: 7.5), control1: CGPoint(x: 3.854, y: 6.732), control2: CGPoint(x: 4, y: 7.086))
        p.addCurve(to: CGPoint(x: 3.561, y: 8.561), control1: CGPoint(x: 4, y: 7.914), control2: CGPoint(x: 3.854, y: 8.268))
        p.addCurve(to: CGPoint(x: 2.5, y: 9), control1: CGPoint(x: 3.268, y: 8.854), control2: CGPoint(x: 2.914, y: 9))
        p.addCurve(to: CGPoint(x: 1.439, y: 8.561), control1: CGPoint(x: 2.086, y: 9), control2: CGPoint(x: 1.732, y: 8.854))
        p.addCurve(to: CGPoint(x: 1, y: 7.5), control1: CGPoint(x: 1.146, y: 8.268), control2: CGPoint(x: 1, y: 7.914))
        p.addCurve(to: CGPoint(x: 1.439, y: 6.439), control1: CGPoint(x: 1, y: 7.086), control2: CGPoint(x: 1.146, y: 6.732))
        p.addCurve(to: CGPoint(x: 2.5, y: 6), control1: CGPoint(x: 1.732, y: 6.146), control2: CGPoint(x: 2.086, y: 6))
        p.addCurve(to: CGPoint(x: 3.561, y: 6.439), control1: CGPoint(x: 2.914, y: 6), control2: CGPoint(x: 3.268, y: 6.146))
        p.closeSubpath()
        p.move(to: CGPoint(x: 6.144, y: 7.856))
        p.addCurve(to: CGPoint(x: 6, y: 7.5), control1: CGPoint(x: 6.048, y: 7.759), control2: CGPoint(x: 6, y: 7.641))
        p.addCurve(to: CGPoint(x: 6.144, y: 7.144), control1: CGPoint(x: 6, y: 7.359), control2: CGPoint(x: 6.048, y: 7.241))
        p.addCurve(to: CGPoint(x: 6.5, y: 7), control1: CGPoint(x: 6.241, y: 7.048), control2: CGPoint(x: 6.359, 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.5, y: 8))
        p.addCurve(to: CGPoint(x: 6.144, y: 7.856), control1: CGPoint(x: 6.359, y: 8), control2: CGPoint(x: 6.241, y: 7.952))
        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: 1.439, y: 10.439))
        p.addCurve(to: CGPoint(x: 2.5, y: 10), control1: CGPoint(x: 1.732, y: 10.146), control2: CGPoint(x: 2.086, y: 10))
        p.addCurve(to: CGPoint(x: 3.561, y: 10.439), control1: CGPoint(x: 2.914, y: 10), control2: CGPoint(x: 3.268, y: 10.146))
        p.addCurve(to: CGPoint(x: 4, y: 11.5), control1: CGPoint(x: 3.854, y: 10.732), control2: CGPoint(x: 4, y: 11.086))
        p.addCurve(to: CGPoint(x: 3.561, y: 12.561), control1: CGPoint(x: 4, y: 11.914), control2: CGPoint(x: 3.854, y: 12.268))
        p.addCurve(to: CGPoint(x: 2.5, y: 13), control1: CGPoint(x: 3.268, y: 12.854), control2: CGPoint(x: 2.914, y: 13))
        p.addCurve(to: CGPoint(x: 1.439, y: 12.561), control1: CGPoint(x: 2.086, y: 13), control2: CGPoint(x: 1.732, y: 12.854))
        p.addCurve(to: CGPoint(x: 1, y: 11.5), control1: CGPoint(x: 1.146, y: 12.268), control2: CGPoint(x: 1, y: 11.914))
        p.addCurve(to: CGPoint(x: 1.439, y: 10.439), control1: CGPoint(x: 1, y: 11.086), control2: CGPoint(x: 1.146, y: 10.732))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

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

### Compose

```kotlin
// Gentleface "list-sparkle" (line-round), MIT. https://gentleface.com/icons/list-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 ListSparkleIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "list-sparkle", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M1.439 2.439C1.732 2.146 2.086 2 2.5 2C2.914 2 3.268 2.146 3.561 2.439C3.854 2.732 4 3.086 4 3.5C4 3.914 3.854 4.268 3.561 4.561C3.268 4.854 2.914 5 2.5 5C2.086 5 1.732 4.854 1.439 4.561C1.146 4.268 1 3.914 1 3.5C1 3.086 1.146 2.732 1.439 2.439ZM6.144 3.856C6.048 3.759 6 3.641 6 3.5C6 3.359 6.048 3.241 6.144 3.144C6.241 3.048 6.359 3 6.5 3L13.5 3C13.641 3 13.759 3.048 13.856 3.144C13.952 3.241 14 3.359 14 3.5C14 3.641 13.952 3.759 13.856 3.856C13.759 3.952 13.641 4 13.5 4L6.5 4C6.359 4 6.241 3.952 6.144 3.856ZM3.561 6.439C3.854 6.732 4 7.086 4 7.5C4 7.914 3.854 8.268 3.561 8.561C3.268 8.854 2.914 9 2.5 9C2.086 9 1.732 8.854 1.439 8.561C1.146 8.268 1 7.914 1 7.5C1 7.086 1.146 6.732 1.439 6.439C1.732 6.146 2.086 6 2.5 6C2.914 6 3.268 6.146 3.561 6.439ZM6.144 7.856C6.048 7.759 6 7.641 6 7.5C6 7.359 6.048 7.241 6.144 7.144C6.241 7.048 6.359 7 6.5 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.5 8C6.359 8 6.241 7.952 6.144 7.856ZM11.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 16ZM1.439 10.439C1.732 10.146 2.086 10 2.5 10C2.914 10 3.268 10.146 3.561 10.439C3.854 10.732 4 11.086 4 11.5C4 11.914 3.854 12.268 3.561 12.561C3.268 12.854 2.914 13 2.5 13C2.086 13 1.732 12.854 1.439 12.561C1.146 12.268 1 11.914 1 11.5C1 11.086 1.146 10.732 1.439 10.439Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

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

### Android XML

```xml
<!-- res/drawable/ic_list_sparkle.xml · Gentleface "list-sparkle" (line-round), MIT. https://gentleface.com/icons/list-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="M1.439 2.439C1.732 2.146 2.086 2 2.5 2C2.914 2 3.268 2.146 3.561 2.439C3.854 2.732 4 3.086 4 3.5C4 3.914 3.854 4.268 3.561 4.561C3.268 4.854 2.914 5 2.5 5C2.086 5 1.732 4.854 1.439 4.561C1.146 4.268 1 3.914 1 3.5C1 3.086 1.146 2.732 1.439 2.439ZM6.144 3.856C6.048 3.759 6 3.641 6 3.5C6 3.359 6.048 3.241 6.144 3.144C6.241 3.048 6.359 3 6.5 3L13.5 3C13.641 3 13.759 3.048 13.856 3.144C13.952 3.241 14 3.359 14 3.5C14 3.641 13.952 3.759 13.856 3.856C13.759 3.952 13.641 4 13.5 4L6.5 4C6.359 4 6.241 3.952 6.144 3.856ZM3.561 6.439C3.854 6.732 4 7.086 4 7.5C4 7.914 3.854 8.268 3.561 8.561C3.268 8.854 2.914 9 2.5 9C2.086 9 1.732 8.854 1.439 8.561C1.146 8.268 1 7.914 1 7.5C1 7.086 1.146 6.732 1.439 6.439C1.732 6.146 2.086 6 2.5 6C2.914 6 3.268 6.146 3.561 6.439ZM6.144 7.856C6.048 7.759 6 7.641 6 7.5C6 7.359 6.048 7.241 6.144 7.144C6.241 7.048 6.359 7 6.5 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.5 8C6.359 8 6.241 7.952 6.144 7.856ZM11.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 16ZM1.439 10.439C1.732 10.146 2.086 10 2.5 10C2.914 10 3.268 10.146 3.561 10.439C3.854 10.732 4 11.086 4 11.5C4 11.914 3.854 12.268 3.561 12.561C3.268 12.854 2.914 13 2.5 13C2.086 13 1.732 12.854 1.439 12.561C1.146 12.268 1 11.914 1 11.5C1 11.086 1.146 10.732 1.439 10.439Z"/>
</vector>
```

### Flutter

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

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

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

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

  @override
  void paint(Canvas canvas, Size size) {
    canvas.scale(size.width / 16, size.height / 16);
    final p = Path()
      ..moveTo(1.439, 2.439)
      ..cubicTo(1.732, 2.146, 2.086, 2, 2.5, 2)
      ..cubicTo(2.914, 2, 3.268, 2.146, 3.561, 2.439)
      ..cubicTo(3.854, 2.732, 4, 3.086, 4, 3.5)
      ..cubicTo(4, 3.914, 3.854, 4.268, 3.561, 4.561)
      ..cubicTo(3.268, 4.854, 2.914, 5, 2.5, 5)
      ..cubicTo(2.086, 5, 1.732, 4.854, 1.439, 4.561)
      ..cubicTo(1.146, 4.268, 1, 3.914, 1, 3.5)
      ..cubicTo(1, 3.086, 1.146, 2.732, 1.439, 2.439)
      ..close()
      ..moveTo(6.144, 3.856)
      ..cubicTo(6.048, 3.759, 6, 3.641, 6, 3.5)
      ..cubicTo(6, 3.359, 6.048, 3.241, 6.144, 3.144)
      ..cubicTo(6.241, 3.048, 6.359, 3, 6.5, 3)
      ..lineTo(13.5, 3)
      ..cubicTo(13.641, 3, 13.759, 3.048, 13.856, 3.144)
      ..cubicTo(13.952, 3.241, 14, 3.359, 14, 3.5)
      ..cubicTo(14, 3.641, 13.952, 3.759, 13.856, 3.856)
      ..cubicTo(13.759, 3.952, 13.641, 4, 13.5, 4)
      ..lineTo(6.5, 4)
      ..cubicTo(6.359, 4, 6.241, 3.952, 6.144, 3.856)
      ..close()
      ..moveTo(3.561, 6.439)
      ..cubicTo(3.854, 6.732, 4, 7.086, 4, 7.5)
      ..cubicTo(4, 7.914, 3.854, 8.268, 3.561, 8.561)
      ..cubicTo(3.268, 8.854, 2.914, 9, 2.5, 9)
      ..cubicTo(2.086, 9, 1.732, 8.854, 1.439, 8.561)
      ..cubicTo(1.146, 8.268, 1, 7.914, 1, 7.5)
      ..cubicTo(1, 7.086, 1.146, 6.732, 1.439, 6.439)
      ..cubicTo(1.732, 6.146, 2.086, 6, 2.5, 6)
      ..cubicTo(2.914, 6, 3.268, 6.146, 3.561, 6.439)
      ..close()
      ..moveTo(6.144, 7.856)
      ..cubicTo(6.048, 7.759, 6, 7.641, 6, 7.5)
      ..cubicTo(6, 7.359, 6.048, 7.241, 6.144, 7.144)
      ..cubicTo(6.241, 7.048, 6.359, 7, 6.5, 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.5, 8)
      ..cubicTo(6.359, 8, 6.241, 7.952, 6.144, 7.856)
      ..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(1.439, 10.439)
      ..cubicTo(1.732, 10.146, 2.086, 10, 2.5, 10)
      ..cubicTo(2.914, 10, 3.268, 10.146, 3.561, 10.439)
      ..cubicTo(3.854, 10.732, 4, 11.086, 4, 11.5)
      ..cubicTo(4, 11.914, 3.854, 12.268, 3.561, 12.561)
      ..cubicTo(3.268, 12.854, 2.914, 13, 2.5, 13)
      ..cubicTo(2.086, 13, 1.732, 12.854, 1.439, 12.561)
      ..cubicTo(1.146, 12.268, 1, 11.914, 1, 11.5)
      ..cubicTo(1, 11.086, 1.146, 10.732, 1.439, 10.439)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

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