# apps-sparkle icon

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

- Category: Layout & interface
- Use it for: ai apps, ai features, smart apps
- Example: AI apps section of an app launcher
- Built from: apps + sparkle
- Tags: apps, launcher, applications, waffle, grid, menu, all-apps, dots, sparkle
- Family: apps, apps-alert, apps-check, apps-clock, apps-gear, apps-link, apps-pencil, apps-plus, apps-search, apps-x
- Component name: AppsSparkleIcon
- Added: 2026-11-06
- Since: version 0.4.0
- npm: `import { AppsSparkleIcon } 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/apps-sparkle.svg · PNG https://gentleface.com/png/line-round/16/apps-sparkle.png · https://gentleface.com/png/line-round/32/apps-sparkle.png · https://gentleface.com/png/line-round/48/apps-sparkle.png
- line-soft: https://gentleface.com/svg/line-soft/16/apps-sparkle.svg · PNG https://gentleface.com/png/line-soft/16/apps-sparkle.png · https://gentleface.com/png/line-soft/32/apps-sparkle.png · https://gentleface.com/png/line-soft/48/apps-sparkle.png
- line-sharp: https://gentleface.com/svg/line-sharp/16/apps-sparkle.svg · PNG https://gentleface.com/png/line-sharp/16/apps-sparkle.png · https://gentleface.com/png/line-sharp/32/apps-sparkle.png · https://gentleface.com/png/line-sharp/48/apps-sparkle.png
- solid-round: https://gentleface.com/svg/solid-round/16/apps-sparkle.svg · PNG https://gentleface.com/png/solid-round/16/apps-sparkle.png · https://gentleface.com/png/solid-round/32/apps-sparkle.png · https://gentleface.com/png/solid-round/48/apps-sparkle.png
- solid-soft: https://gentleface.com/svg/solid-soft/16/apps-sparkle.svg · PNG https://gentleface.com/png/solid-soft/16/apps-sparkle.png · https://gentleface.com/png/solid-soft/32/apps-sparkle.png · https://gentleface.com/png/solid-soft/48/apps-sparkle.png
- solid-sharp: https://gentleface.com/svg/solid-sharp/16/apps-sparkle.svg · PNG https://gentleface.com/png/solid-sharp/16/apps-sparkle.png · https://gentleface.com/png/solid-sharp/32/apps-sparkle.png · https://gentleface.com/png/solid-sharp/48/apps-sparkle.png

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

## Animated

`apps-sparkle-shuffle`: The sparkle twinkles out and the grid closes. The four apps at the top left slide one place round together, like tiles being sorted, and the sparkle twinkles back in on the new order.

File: https://gentleface.com/motion/apps-sparkle-shuffle.svg (line-round, 16 px). Native SVG animation that loops by itself. To play it once, run 0.2 s to 1.6 s. Patterns: https://gentleface.com/animated-icons.md

```svg
<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.001" stroke-linecap="round" stroke-linejoin="round"><mask id="apsm" maskUnits="userSpaceOnUse" x="-2" y="-2" width="20" height="20"><rect x="-2" y="-2" width="20" height="20" fill="#fff" stroke="none"/><g transform="translate(11.5 11.5)"><g><animateTransform attributeName="transform" type="scale" dur="2.8s" repeatCount="indefinite" keyTimes="0;0.089;0.161;0.386;0.457;1" values="1;1;0;0;1;1" calcMode="spline" keySplines="0 0 1 1;.6 0 .9 .4;0 0 1 1;.15 .75 .25 1;0 0 1 1"/><g><animateTransform attributeName="transform" type="rotate" dur="2.8s" repeatCount="indefinite" keyTimes="0;0.089;0.161;0.386;0.479;0.536;1" values="0;0;45;-90;12;0;0" calcMode="spline" keySplines="0 0 1 1;.6 0 .9 .4;0 0 1 1;.15 .75 .25 1;.37 0 .63 1;0 0 1 1"/><g transform="translate(-11.5 -11.5)"><path fill="#000" stroke="none" d="M16.986 11.336C16.916 10.914 16.586 10.584 16.164 10.514C15.467 10.397 14.904 10.253 14.475 10.08C14.078 9.92 13.759 9.72 13.52 9.48C13.28 9.241 13.08 8.922 12.92 8.525C12.747 8.096 12.603 7.533 12.486 6.836C12.396 6.291 11.88 5.923 11.336 6.014C10.914 6.084 10.584 6.414 10.514 6.836C10.397 7.533 10.253 8.096 10.08 8.525C9.92 8.922 9.72 9.241 9.48 9.48C9.241 9.72 8.922 9.92 8.525 10.08C8.096 10.253 7.533 10.397 6.836 10.514C6.291 10.604 5.923 11.12 6.014 11.664C6.084 12.086 6.414 12.416 6.836 12.486C7.533 12.603 8.096 12.747 8.525 12.92C8.922 13.08 9.241 13.28 9.48 13.52C9.72 13.759 9.92 14.078 10.08 14.475C10.253 14.904 10.397 15.467 10.514 16.164C10.557 16.426 10.703 16.66 10.919 16.814C11.135 16.968 11.403 17.03 11.664 16.986C12.086 16.916 12.416 16.586 12.486 16.164C12.603 15.467 12.747 14.904 12.92 14.475C13.08 14.078 13.28 13.759 13.52 13.52C13.759 13.28 14.078 13.08 14.475 12.92C14.904 12.747 15.467 12.603 16.164 12.486C16.426 12.443 16.66 12.297 16.814 12.081C16.968 11.865 17.03 11.597 16.986 11.336Z"/></g></g></g></g></mask><g mask="url(#apsm)"><g><animateTransform attributeName="transform" type="translate" dur="2.8s" repeatCount="indefinite" keyTimes="0;0.179;0.3;0.336;0.346;0.347;1" values="0 0;0 0;5.3 0;5 0;5 0;0 0;0 0" calcMode="spline" keySplines="0 0 1 1;.6 0 .25 1;.37 0 .63 1;0 0 1 1;0 0 1 1;0 0 1 1"/><path fill="currentColor" stroke="none" d="M0 1.5C0 0.672 0.672 0 1.5 0C2.328 0 3 0.672 3 1.5C3 2.328 2.328 3 1.5 3C0.672 3 0 2.328 0 1.5Z"></path></g><g><animateTransform attributeName="transform" type="translate" dur="2.8s" repeatCount="indefinite" keyTimes="0;0.179;0.3;0.336;0.346;0.347;1" values="0 0;0 0;0 5.3;0 5;0 5;0 0;0 0" calcMode="spline" keySplines="0 0 1 1;.6 0 .25 1;.37 0 .63 1;0 0 1 1;0 0 1 1;0 0 1 1"/><path fill="currentColor" stroke="none" d="M5 1.5C5 0.672 5.672 0 6.5 0C7.328 0 8 0.672 8 1.5C8 2.328 7.328 3 6.5 3C5.672 3 5 2.328 5 1.5Z"></path></g><path fill="currentColor" stroke="none" d="M10 1.5C10 0.672 10.672 0 11.5 0C12.328 0 13 0.672 13 1.5C13 2.328 12.328 3 11.5 3C10.672 3 10 2.328 10 1.5Z"></path><g><animateTransform attributeName="transform" type="translate" dur="2.8s" repeatCount="indefinite" keyTimes="0;0.179;0.3;0.336;0.346;0.347;1" values="0 0;0 0;0 -5.3;0 -5;0 -5;0 0;0 0" calcMode="spline" keySplines="0 0 1 1;.6 0 .25 1;.37 0 .63 1;0 0 1 1;0 0 1 1;0 0 1 1"/><path fill="currentColor" stroke="none" d="M0 6.5C0 5.672 0.672 5 1.5 5C2.328 5 3 5.672 3 6.5C3 7.328 2.328 8 1.5 8C0.672 8 0 7.328 0 6.5Z"></path></g><g><animateTransform attributeName="transform" type="translate" dur="2.8s" repeatCount="indefinite" keyTimes="0;0.179;0.3;0.336;0.346;0.347;1" values="0 0;0 0;-5.3 0;-5 0;-5 0;0 0;0 0" calcMode="spline" keySplines="0 0 1 1;.6 0 .25 1;.37 0 .63 1;0 0 1 1;0 0 1 1;0 0 1 1"/><path fill="currentColor" stroke="none" d="M5 6.5C5 5.672 5.672 5 6.5 5C7.328 5 8 5.672 8 6.5C8 7.328 7.328 8 6.5 8C5.672 8 5 7.328 5 6.5Z"></path></g><path fill="currentColor" stroke="none" d="M10 6.5C10 5.672 10.672 5 11.5 5C12.328 5 13 5.672 13 6.5C13 7.328 12.328 8 11.5 8C10.672 8 10 7.328 10 6.5Z"></path><path fill="currentColor" stroke="none" d="M0 11.5C0 10.672 0.672 10 1.5 10C2.328 10 3 10.672 3 11.5C3 12.328 2.328 13 1.5 13C0.672 13 0 12.328 0 11.5Z"></path><path fill="currentColor" stroke="none" d="M5 11.5C5 10.672 5.672 10 6.5 10C7.328 10 8 10.672 8 11.5C8 12.328 7.328 13 6.5 13C5.672 13 5 12.328 5 11.5Z"></path><path fill="currentColor" stroke="none" d="M10 11.5C10 10.672 10.672 10 11.5 10C12.328 10 13 10.672 13 11.5C13 12.328 12.328 13 11.5 13C10.672 13 10 12.328 10 11.5Z"></path></g><g transform="translate(11.5 11.5)"><g><animateTransform attributeName="transform" type="scale" dur="2.8s" repeatCount="indefinite" keyTimes="0;0.089;0.161;0.386;0.457;1" values="1;1;0;0;1;1" calcMode="spline" keySplines="0 0 1 1;.6 0 .9 .4;0 0 1 1;.15 .75 .25 1;0 0 1 1"/><animate attributeName="visibility" calcMode="discrete" dur="2.8s" repeatCount="indefinite" keyTimes="0;0.161;0.386" values="visible;hidden;visible"/><g><animateTransform attributeName="transform" type="rotate" dur="2.8s" repeatCount="indefinite" keyTimes="0;0.089;0.161;0.386;0.479;0.536;1" values="0;0;45;-90;12;0;0" calcMode="spline" keySplines="0 0 1 1;.6 0 .9 .4;0 0 1 1;.15 .75 .25 1;.37 0 .63 1;0 0 1 1"/><g transform="translate(-11.5 -11.5)"><path fill="currentColor" stroke="none" d="M16 11.5C13 12 12 13 11.5 16C11 13 10 12 7 11.5C10 11 11 10 11.5 7C12 10 13 11 16 11.5Z"></path></g></g></g></g></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="M0.439 0.439C0.732 0.146 1.086 0 1.5 0C1.914 0 2.268 0.146 2.561 0.439C2.854 0.732 3 1.086 3 1.5C3 1.914 2.854 2.268 2.561 2.561C2.268 2.854 1.914 3 1.5 3C1.086 3 0.732 2.854 0.439 2.561C0.146 2.268 0 1.914 0 1.5C0 1.086 0.146 0.732 0.439 0.439ZM5.439 0.439C5.732 0.146 6.086 0 6.5 0C6.914 0 7.268 0.146 7.561 0.439C7.854 0.732 8 1.086 8 1.5C8 1.914 7.854 2.268 7.561 2.561C7.268 2.854 6.914 3 6.5 3C6.086 3 5.732 2.854 5.439 2.561C5.146 2.268 5 1.914 5 1.5C5 1.086 5.146 0.732 5.439 0.439ZM12.561 0.439C12.854 0.732 13 1.086 13 1.5C13 1.914 12.854 2.268 12.561 2.561C12.268 2.854 11.914 3 11.5 3C11.086 3 10.732 2.854 10.439 2.561C10.146 2.268 10 1.914 10 1.5C10 1.086 10.146 0.732 10.439 0.439C10.732 0.146 11.086 0 11.5 0C11.914 0 12.268 0.146 12.561 0.439ZM2.561 5.439C2.854 5.732 3 6.086 3 6.5C3 6.914 2.854 7.268 2.561 7.561C2.268 7.854 1.914 8 1.5 8C1.086 8 0.732 7.854 0.439 7.561C0.146 7.268 0 6.914 0 6.5C0 6.086 0.146 5.732 0.439 5.439C0.732 5.146 1.086 5 1.5 5C1.914 5 2.268 5.146 2.561 5.439ZM7.561 5.439C7.854 5.732 8 6.086 8 6.5C8 6.914 7.854 7.268 7.561 7.561C7.268 7.854 6.914 8 6.5 8C6.086 8 5.732 7.854 5.439 7.561C5.146 7.268 5 6.914 5 6.5C5 6.086 5.146 5.732 5.439 5.439C5.732 5.146 6.086 5 6.5 5C6.914 5 7.268 5.146 7.561 5.439ZM10.439 5.439C10.732 5.146 11.086 5 11.5 5C11.914 5 12.268 5.146 12.561 5.439C12.854 5.732 13 6.086 13 6.5C13 6.888 12.872 7.222 12.615 7.503C12.569 7.296 12.526 7.074 12.486 6.836C12.396 6.291 11.88 5.923 11.336 6.014C10.914 6.084 10.584 6.414 10.514 6.836C10.474 7.074 10.431 7.296 10.385 7.503C10.128 7.222 10 6.888 10 6.5C10 6.086 10.146 5.732 10.439 5.439ZM11.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 16ZM0.439 10.439C0.732 10.146 1.086 10 1.5 10C1.914 10 2.268 10.146 2.561 10.439C2.854 10.732 3 11.086 3 11.5C3 11.914 2.854 12.268 2.561 12.561C2.268 12.854 1.914 13 1.5 13C1.086 13 0.732 12.854 0.439 12.561C0.146 12.268 0 11.914 0 11.5C0 11.086 0.146 10.732 0.439 10.439ZM6.836 10.514C6.291 10.604 5.923 11.12 6.014 11.664C6.084 12.086 6.414 12.416 6.836 12.486C7.074 12.526 7.296 12.569 7.503 12.615C7.222 12.872 6.888 13 6.5 13C6.086 13 5.732 12.854 5.439 12.561C5.146 12.268 5 11.914 5 11.5C5 11.086 5.146 10.732 5.439 10.439C5.732 10.146 6.086 10 6.5 10C6.888 10 7.222 10.128 7.503 10.385C7.296 10.431 7.074 10.474 6.836 10.514Z"/></svg>
```

### React

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

export function AppsSparkleIcon(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="M0.439 0.439C0.732 0.146 1.086 0 1.5 0C1.914 0 2.268 0.146 2.561 0.439C2.854 0.732 3 1.086 3 1.5C3 1.914 2.854 2.268 2.561 2.561C2.268 2.854 1.914 3 1.5 3C1.086 3 0.732 2.854 0.439 2.561C0.146 2.268 0 1.914 0 1.5C0 1.086 0.146 0.732 0.439 0.439ZM5.439 0.439C5.732 0.146 6.086 0 6.5 0C6.914 0 7.268 0.146 7.561 0.439C7.854 0.732 8 1.086 8 1.5C8 1.914 7.854 2.268 7.561 2.561C7.268 2.854 6.914 3 6.5 3C6.086 3 5.732 2.854 5.439 2.561C5.146 2.268 5 1.914 5 1.5C5 1.086 5.146 0.732 5.439 0.439ZM12.561 0.439C12.854 0.732 13 1.086 13 1.5C13 1.914 12.854 2.268 12.561 2.561C12.268 2.854 11.914 3 11.5 3C11.086 3 10.732 2.854 10.439 2.561C10.146 2.268 10 1.914 10 1.5C10 1.086 10.146 0.732 10.439 0.439C10.732 0.146 11.086 0 11.5 0C11.914 0 12.268 0.146 12.561 0.439ZM2.561 5.439C2.854 5.732 3 6.086 3 6.5C3 6.914 2.854 7.268 2.561 7.561C2.268 7.854 1.914 8 1.5 8C1.086 8 0.732 7.854 0.439 7.561C0.146 7.268 0 6.914 0 6.5C0 6.086 0.146 5.732 0.439 5.439C0.732 5.146 1.086 5 1.5 5C1.914 5 2.268 5.146 2.561 5.439ZM7.561 5.439C7.854 5.732 8 6.086 8 6.5C8 6.914 7.854 7.268 7.561 7.561C7.268 7.854 6.914 8 6.5 8C6.086 8 5.732 7.854 5.439 7.561C5.146 7.268 5 6.914 5 6.5C5 6.086 5.146 5.732 5.439 5.439C5.732 5.146 6.086 5 6.5 5C6.914 5 7.268 5.146 7.561 5.439ZM10.439 5.439C10.732 5.146 11.086 5 11.5 5C11.914 5 12.268 5.146 12.561 5.439C12.854 5.732 13 6.086 13 6.5C13 6.888 12.872 7.222 12.615 7.503C12.569 7.296 12.526 7.074 12.486 6.836C12.396 6.291 11.88 5.923 11.336 6.014C10.914 6.084 10.584 6.414 10.514 6.836C10.474 7.074 10.431 7.296 10.385 7.503C10.128 7.222 10 6.888 10 6.5C10 6.086 10.146 5.732 10.439 5.439ZM11.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 16ZM0.439 10.439C0.732 10.146 1.086 10 1.5 10C1.914 10 2.268 10.146 2.561 10.439C2.854 10.732 3 11.086 3 11.5C3 11.914 2.854 12.268 2.561 12.561C2.268 12.854 1.914 13 1.5 13C1.086 13 0.732 12.854 0.439 12.561C0.146 12.268 0 11.914 0 11.5C0 11.086 0.146 10.732 0.439 10.439ZM6.836 10.514C6.291 10.604 5.923 11.12 6.014 11.664C6.084 12.086 6.414 12.416 6.836 12.486C7.074 12.526 7.296 12.569 7.503 12.615C7.222 12.872 6.888 13 6.5 13C6.086 13 5.732 12.854 5.439 12.561C5.146 12.268 5 11.914 5 11.5C5 11.086 5.146 10.732 5.439 10.439C5.732 10.146 6.086 10 6.5 10C6.888 10 7.222 10.128 7.503 10.385C7.296 10.431 7.074 10.474 6.836 10.514Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "apps-sparkle" (line-round), MIT. https://gentleface.com/icons/apps-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="M0.439 0.439C0.732 0.146 1.086 0 1.5 0C1.914 0 2.268 0.146 2.561 0.439C2.854 0.732 3 1.086 3 1.5C3 1.914 2.854 2.268 2.561 2.561C2.268 2.854 1.914 3 1.5 3C1.086 3 0.732 2.854 0.439 2.561C0.146 2.268 0 1.914 0 1.5C0 1.086 0.146 0.732 0.439 0.439ZM5.439 0.439C5.732 0.146 6.086 0 6.5 0C6.914 0 7.268 0.146 7.561 0.439C7.854 0.732 8 1.086 8 1.5C8 1.914 7.854 2.268 7.561 2.561C7.268 2.854 6.914 3 6.5 3C6.086 3 5.732 2.854 5.439 2.561C5.146 2.268 5 1.914 5 1.5C5 1.086 5.146 0.732 5.439 0.439ZM12.561 0.439C12.854 0.732 13 1.086 13 1.5C13 1.914 12.854 2.268 12.561 2.561C12.268 2.854 11.914 3 11.5 3C11.086 3 10.732 2.854 10.439 2.561C10.146 2.268 10 1.914 10 1.5C10 1.086 10.146 0.732 10.439 0.439C10.732 0.146 11.086 0 11.5 0C11.914 0 12.268 0.146 12.561 0.439ZM2.561 5.439C2.854 5.732 3 6.086 3 6.5C3 6.914 2.854 7.268 2.561 7.561C2.268 7.854 1.914 8 1.5 8C1.086 8 0.732 7.854 0.439 7.561C0.146 7.268 0 6.914 0 6.5C0 6.086 0.146 5.732 0.439 5.439C0.732 5.146 1.086 5 1.5 5C1.914 5 2.268 5.146 2.561 5.439ZM7.561 5.439C7.854 5.732 8 6.086 8 6.5C8 6.914 7.854 7.268 7.561 7.561C7.268 7.854 6.914 8 6.5 8C6.086 8 5.732 7.854 5.439 7.561C5.146 7.268 5 6.914 5 6.5C5 6.086 5.146 5.732 5.439 5.439C5.732 5.146 6.086 5 6.5 5C6.914 5 7.268 5.146 7.561 5.439ZM10.439 5.439C10.732 5.146 11.086 5 11.5 5C11.914 5 12.268 5.146 12.561 5.439C12.854 5.732 13 6.086 13 6.5C13 6.888 12.872 7.222 12.615 7.503C12.569 7.296 12.526 7.074 12.486 6.836C12.396 6.291 11.88 5.923 11.336 6.014C10.914 6.084 10.584 6.414 10.514 6.836C10.474 7.074 10.431 7.296 10.385 7.503C10.128 7.222 10 6.888 10 6.5C10 6.086 10.146 5.732 10.439 5.439ZM11.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 16ZM0.439 10.439C0.732 10.146 1.086 10 1.5 10C1.914 10 2.268 10.146 2.561 10.439C2.854 10.732 3 11.086 3 11.5C3 11.914 2.854 12.268 2.561 12.561C2.268 12.854 1.914 13 1.5 13C1.086 13 0.732 12.854 0.439 12.561C0.146 12.268 0 11.914 0 11.5C0 11.086 0.146 10.732 0.439 10.439ZM6.836 10.514C6.291 10.604 5.923 11.12 6.014 11.664C6.084 12.086 6.414 12.416 6.836 12.486C7.074 12.526 7.296 12.569 7.503 12.615C7.222 12.872 6.888 13 6.5 13C6.086 13 5.732 12.854 5.439 12.561C5.146 12.268 5 11.914 5 11.5C5 11.086 5.146 10.732 5.439 10.439C5.732 10.146 6.086 10 6.5 10C6.888 10 7.222 10.128 7.503 10.385C7.296 10.431 7.074 10.474 6.836 10.514Z" />
  </svg>
</template>
```

### Svelte

```svelte
<!-- Gentleface "apps-sparkle" (line-round), MIT. https://gentleface.com/icons/apps-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="M0.439 0.439C0.732 0.146 1.086 0 1.5 0C1.914 0 2.268 0.146 2.561 0.439C2.854 0.732 3 1.086 3 1.5C3 1.914 2.854 2.268 2.561 2.561C2.268 2.854 1.914 3 1.5 3C1.086 3 0.732 2.854 0.439 2.561C0.146 2.268 0 1.914 0 1.5C0 1.086 0.146 0.732 0.439 0.439ZM5.439 0.439C5.732 0.146 6.086 0 6.5 0C6.914 0 7.268 0.146 7.561 0.439C7.854 0.732 8 1.086 8 1.5C8 1.914 7.854 2.268 7.561 2.561C7.268 2.854 6.914 3 6.5 3C6.086 3 5.732 2.854 5.439 2.561C5.146 2.268 5 1.914 5 1.5C5 1.086 5.146 0.732 5.439 0.439ZM12.561 0.439C12.854 0.732 13 1.086 13 1.5C13 1.914 12.854 2.268 12.561 2.561C12.268 2.854 11.914 3 11.5 3C11.086 3 10.732 2.854 10.439 2.561C10.146 2.268 10 1.914 10 1.5C10 1.086 10.146 0.732 10.439 0.439C10.732 0.146 11.086 0 11.5 0C11.914 0 12.268 0.146 12.561 0.439ZM2.561 5.439C2.854 5.732 3 6.086 3 6.5C3 6.914 2.854 7.268 2.561 7.561C2.268 7.854 1.914 8 1.5 8C1.086 8 0.732 7.854 0.439 7.561C0.146 7.268 0 6.914 0 6.5C0 6.086 0.146 5.732 0.439 5.439C0.732 5.146 1.086 5 1.5 5C1.914 5 2.268 5.146 2.561 5.439ZM7.561 5.439C7.854 5.732 8 6.086 8 6.5C8 6.914 7.854 7.268 7.561 7.561C7.268 7.854 6.914 8 6.5 8C6.086 8 5.732 7.854 5.439 7.561C5.146 7.268 5 6.914 5 6.5C5 6.086 5.146 5.732 5.439 5.439C5.732 5.146 6.086 5 6.5 5C6.914 5 7.268 5.146 7.561 5.439ZM10.439 5.439C10.732 5.146 11.086 5 11.5 5C11.914 5 12.268 5.146 12.561 5.439C12.854 5.732 13 6.086 13 6.5C13 6.888 12.872 7.222 12.615 7.503C12.569 7.296 12.526 7.074 12.486 6.836C12.396 6.291 11.88 5.923 11.336 6.014C10.914 6.084 10.584 6.414 10.514 6.836C10.474 7.074 10.431 7.296 10.385 7.503C10.128 7.222 10 6.888 10 6.5C10 6.086 10.146 5.732 10.439 5.439ZM11.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 16ZM0.439 10.439C0.732 10.146 1.086 10 1.5 10C1.914 10 2.268 10.146 2.561 10.439C2.854 10.732 3 11.086 3 11.5C3 11.914 2.854 12.268 2.561 12.561C2.268 12.854 1.914 13 1.5 13C1.086 13 0.732 12.854 0.439 12.561C0.146 12.268 0 11.914 0 11.5C0 11.086 0.146 10.732 0.439 10.439ZM6.836 10.514C6.291 10.604 5.923 11.12 6.014 11.664C6.084 12.086 6.414 12.416 6.836 12.486C7.074 12.526 7.296 12.569 7.503 12.615C7.222 12.872 6.888 13 6.5 13C6.086 13 5.732 12.854 5.439 12.561C5.146 12.268 5 11.914 5 11.5C5 11.086 5.146 10.732 5.439 10.439C5.732 10.146 6.086 10 6.5 10C6.888 10 7.222 10.128 7.503 10.385C7.296 10.431 7.074 10.474 6.836 10.514Z" />
</svg>
```

### HTML img

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

### CSS

```css
/* Gentleface "apps-sparkle" (line-round), MIT. https://gentleface.com/icons/apps-sparkle. Takes the text color. */
.icon-apps-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='M0.439 0.439C0.732 0.146 1.086 0 1.5 0C1.914 0 2.268 0.146 2.561 0.439C2.854 0.732 3 1.086 3 1.5C3 1.914 2.854 2.268 2.561 2.561C2.268 2.854 1.914 3 1.5 3C1.086 3 0.732 2.854 0.439 2.561C0.146 2.268 0 1.914 0 1.5C0 1.086 0.146 0.732 0.439 0.439ZM5.439 0.439C5.732 0.146 6.086 0 6.5 0C6.914 0 7.268 0.146 7.561 0.439C7.854 0.732 8 1.086 8 1.5C8 1.914 7.854 2.268 7.561 2.561C7.268 2.854 6.914 3 6.5 3C6.086 3 5.732 2.854 5.439 2.561C5.146 2.268 5 1.914 5 1.5C5 1.086 5.146 0.732 5.439 0.439ZM12.561 0.439C12.854 0.732 13 1.086 13 1.5C13 1.914 12.854 2.268 12.561 2.561C12.268 2.854 11.914 3 11.5 3C11.086 3 10.732 2.854 10.439 2.561C10.146 2.268 10 1.914 10 1.5C10 1.086 10.146 0.732 10.439 0.439C10.732 0.146 11.086 0 11.5 0C11.914 0 12.268 0.146 12.561 0.439ZM2.561 5.439C2.854 5.732 3 6.086 3 6.5C3 6.914 2.854 7.268 2.561 7.561C2.268 7.854 1.914 8 1.5 8C1.086 8 0.732 7.854 0.439 7.561C0.146 7.268 0 6.914 0 6.5C0 6.086 0.146 5.732 0.439 5.439C0.732 5.146 1.086 5 1.5 5C1.914 5 2.268 5.146 2.561 5.439ZM7.561 5.439C7.854 5.732 8 6.086 8 6.5C8 6.914 7.854 7.268 7.561 7.561C7.268 7.854 6.914 8 6.5 8C6.086 8 5.732 7.854 5.439 7.561C5.146 7.268 5 6.914 5 6.5C5 6.086 5.146 5.732 5.439 5.439C5.732 5.146 6.086 5 6.5 5C6.914 5 7.268 5.146 7.561 5.439ZM10.439 5.439C10.732 5.146 11.086 5 11.5 5C11.914 5 12.268 5.146 12.561 5.439C12.854 5.732 13 6.086 13 6.5C13 6.888 12.872 7.222 12.615 7.503C12.569 7.296 12.526 7.074 12.486 6.836C12.396 6.291 11.88 5.923 11.336 6.014C10.914 6.084 10.584 6.414 10.514 6.836C10.474 7.074 10.431 7.296 10.385 7.503C10.128 7.222 10 6.888 10 6.5C10 6.086 10.146 5.732 10.439 5.439ZM11.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 16ZM0.439 10.439C0.732 10.146 1.086 10 1.5 10C1.914 10 2.268 10.146 2.561 10.439C2.854 10.732 3 11.086 3 11.5C3 11.914 2.854 12.268 2.561 12.561C2.268 12.854 1.914 13 1.5 13C1.086 13 0.732 12.854 0.439 12.561C0.146 12.268 0 11.914 0 11.5C0 11.086 0.146 10.732 0.439 10.439ZM6.836 10.514C6.291 10.604 5.923 11.12 6.014 11.664C6.084 12.086 6.414 12.416 6.836 12.486C7.074 12.526 7.296 12.569 7.503 12.615C7.222 12.872 6.888 13 6.5 13C6.086 13 5.732 12.854 5.439 12.561C5.146 12.268 5 11.914 5 11.5C5 11.086 5.146 10.732 5.439 10.439C5.732 10.146 6.086 10 6.5 10C6.888 10 7.222 10.128 7.503 10.385C7.296 10.431 7.074 10.474 6.836 10.514Z'/%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='M0.439 0.439C0.732 0.146 1.086 0 1.5 0C1.914 0 2.268 0.146 2.561 0.439C2.854 0.732 3 1.086 3 1.5C3 1.914 2.854 2.268 2.561 2.561C2.268 2.854 1.914 3 1.5 3C1.086 3 0.732 2.854 0.439 2.561C0.146 2.268 0 1.914 0 1.5C0 1.086 0.146 0.732 0.439 0.439ZM5.439 0.439C5.732 0.146 6.086 0 6.5 0C6.914 0 7.268 0.146 7.561 0.439C7.854 0.732 8 1.086 8 1.5C8 1.914 7.854 2.268 7.561 2.561C7.268 2.854 6.914 3 6.5 3C6.086 3 5.732 2.854 5.439 2.561C5.146 2.268 5 1.914 5 1.5C5 1.086 5.146 0.732 5.439 0.439ZM12.561 0.439C12.854 0.732 13 1.086 13 1.5C13 1.914 12.854 2.268 12.561 2.561C12.268 2.854 11.914 3 11.5 3C11.086 3 10.732 2.854 10.439 2.561C10.146 2.268 10 1.914 10 1.5C10 1.086 10.146 0.732 10.439 0.439C10.732 0.146 11.086 0 11.5 0C11.914 0 12.268 0.146 12.561 0.439ZM2.561 5.439C2.854 5.732 3 6.086 3 6.5C3 6.914 2.854 7.268 2.561 7.561C2.268 7.854 1.914 8 1.5 8C1.086 8 0.732 7.854 0.439 7.561C0.146 7.268 0 6.914 0 6.5C0 6.086 0.146 5.732 0.439 5.439C0.732 5.146 1.086 5 1.5 5C1.914 5 2.268 5.146 2.561 5.439ZM7.561 5.439C7.854 5.732 8 6.086 8 6.5C8 6.914 7.854 7.268 7.561 7.561C7.268 7.854 6.914 8 6.5 8C6.086 8 5.732 7.854 5.439 7.561C5.146 7.268 5 6.914 5 6.5C5 6.086 5.146 5.732 5.439 5.439C5.732 5.146 6.086 5 6.5 5C6.914 5 7.268 5.146 7.561 5.439ZM10.439 5.439C10.732 5.146 11.086 5 11.5 5C11.914 5 12.268 5.146 12.561 5.439C12.854 5.732 13 6.086 13 6.5C13 6.888 12.872 7.222 12.615 7.503C12.569 7.296 12.526 7.074 12.486 6.836C12.396 6.291 11.88 5.923 11.336 6.014C10.914 6.084 10.584 6.414 10.514 6.836C10.474 7.074 10.431 7.296 10.385 7.503C10.128 7.222 10 6.888 10 6.5C10 6.086 10.146 5.732 10.439 5.439ZM11.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 16ZM0.439 10.439C0.732 10.146 1.086 10 1.5 10C1.914 10 2.268 10.146 2.561 10.439C2.854 10.732 3 11.086 3 11.5C3 11.914 2.854 12.268 2.561 12.561C2.268 12.854 1.914 13 1.5 13C1.086 13 0.732 12.854 0.439 12.561C0.146 12.268 0 11.914 0 11.5C0 11.086 0.146 10.732 0.439 10.439ZM6.836 10.514C6.291 10.604 5.923 11.12 6.014 11.664C6.084 12.086 6.414 12.416 6.836 12.486C7.074 12.526 7.296 12.569 7.503 12.615C7.222 12.872 6.888 13 6.5 13C6.086 13 5.732 12.854 5.439 12.561C5.146 12.268 5 11.914 5 11.5C5 11.086 5.146 10.732 5.439 10.439C5.732 10.146 6.086 10 6.5 10C6.888 10 7.222 10.128 7.503 10.385C7.296 10.431 7.074 10.474 6.836 10.514Z'/%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='M0.439 0.439C0.732 0.146 1.086 0 1.5 0C1.914 0 2.268 0.146 2.561 0.439C2.854 0.732 3 1.086 3 1.5C3 1.914 2.854 2.268 2.561 2.561C2.268 2.854 1.914 3 1.5 3C1.086 3 0.732 2.854 0.439 2.561C0.146 2.268 0 1.914 0 1.5C0 1.086 0.146 0.732 0.439 0.439ZM5.439 0.439C5.732 0.146 6.086 0 6.5 0C6.914 0 7.268 0.146 7.561 0.439C7.854 0.732 8 1.086 8 1.5C8 1.914 7.854 2.268 7.561 2.561C7.268 2.854 6.914 3 6.5 3C6.086 3 5.732 2.854 5.439 2.561C5.146 2.268 5 1.914 5 1.5C5 1.086 5.146 0.732 5.439 0.439ZM12.561 0.439C12.854 0.732 13 1.086 13 1.5C13 1.914 12.854 2.268 12.561 2.561C12.268 2.854 11.914 3 11.5 3C11.086 3 10.732 2.854 10.439 2.561C10.146 2.268 10 1.914 10 1.5C10 1.086 10.146 0.732 10.439 0.439C10.732 0.146 11.086 0 11.5 0C11.914 0 12.268 0.146 12.561 0.439ZM2.561 5.439C2.854 5.732 3 6.086 3 6.5C3 6.914 2.854 7.268 2.561 7.561C2.268 7.854 1.914 8 1.5 8C1.086 8 0.732 7.854 0.439 7.561C0.146 7.268 0 6.914 0 6.5C0 6.086 0.146 5.732 0.439 5.439C0.732 5.146 1.086 5 1.5 5C1.914 5 2.268 5.146 2.561 5.439ZM7.561 5.439C7.854 5.732 8 6.086 8 6.5C8 6.914 7.854 7.268 7.561 7.561C7.268 7.854 6.914 8 6.5 8C6.086 8 5.732 7.854 5.439 7.561C5.146 7.268 5 6.914 5 6.5C5 6.086 5.146 5.732 5.439 5.439C5.732 5.146 6.086 5 6.5 5C6.914 5 7.268 5.146 7.561 5.439ZM10.439 5.439C10.732 5.146 11.086 5 11.5 5C11.914 5 12.268 5.146 12.561 5.439C12.854 5.732 13 6.086 13 6.5C13 6.888 12.872 7.222 12.615 7.503C12.569 7.296 12.526 7.074 12.486 6.836C12.396 6.291 11.88 5.923 11.336 6.014C10.914 6.084 10.584 6.414 10.514 6.836C10.474 7.074 10.431 7.296 10.385 7.503C10.128 7.222 10 6.888 10 6.5C10 6.086 10.146 5.732 10.439 5.439ZM11.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 16ZM0.439 10.439C0.732 10.146 1.086 10 1.5 10C1.914 10 2.268 10.146 2.561 10.439C2.854 10.732 3 11.086 3 11.5C3 11.914 2.854 12.268 2.561 12.561C2.268 12.854 1.914 13 1.5 13C1.086 13 0.732 12.854 0.439 12.561C0.146 12.268 0 11.914 0 11.5C0 11.086 0.146 10.732 0.439 10.439ZM6.836 10.514C6.291 10.604 5.923 11.12 6.014 11.664C6.084 12.086 6.414 12.416 6.836 12.486C7.074 12.526 7.296 12.569 7.503 12.615C7.222 12.872 6.888 13 6.5 13C6.086 13 5.732 12.854 5.439 12.561C5.146 12.268 5 11.914 5 11.5C5 11.086 5.146 10.732 5.439 10.439C5.732 10.146 6.086 10 6.5 10C6.888 10 7.222 10.128 7.503 10.385C7.296 10.431 7.074 10.474 6.836 10.514Z'/%3E%3C/svg%3E
```

### Sprite

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

### SwiftUI

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

struct AppsSparkleIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 0.439, y: 0.439))
        p.addCurve(to: CGPoint(x: 1.5, y: 0), control1: CGPoint(x: 0.732, y: 0.146), control2: CGPoint(x: 1.086, y: 0))
        p.addCurve(to: CGPoint(x: 2.561, y: 0.439), control1: CGPoint(x: 1.914, y: 0), control2: CGPoint(x: 2.268, y: 0.146))
        p.addCurve(to: CGPoint(x: 3, y: 1.5), control1: CGPoint(x: 2.854, y: 0.732), control2: CGPoint(x: 3, y: 1.086))
        p.addCurve(to: CGPoint(x: 2.561, y: 2.561), control1: CGPoint(x: 3, y: 1.914), control2: CGPoint(x: 2.854, y: 2.268))
        p.addCurve(to: CGPoint(x: 1.5, y: 3), control1: CGPoint(x: 2.268, y: 2.854), control2: CGPoint(x: 1.914, y: 3))
        p.addCurve(to: CGPoint(x: 0.439, y: 2.561), control1: CGPoint(x: 1.086, y: 3), control2: CGPoint(x: 0.732, y: 2.854))
        p.addCurve(to: CGPoint(x: 0, y: 1.5), control1: CGPoint(x: 0.146, y: 2.268), control2: CGPoint(x: 0, y: 1.914))
        p.addCurve(to: CGPoint(x: 0.439, y: 0.439), control1: CGPoint(x: 0, y: 1.086), control2: CGPoint(x: 0.146, y: 0.732))
        p.closeSubpath()
        p.move(to: CGPoint(x: 5.439, y: 0.439))
        p.addCurve(to: CGPoint(x: 6.5, y: 0), control1: CGPoint(x: 5.732, y: 0.146), control2: CGPoint(x: 6.086, y: 0))
        p.addCurve(to: CGPoint(x: 7.561, y: 0.439), control1: CGPoint(x: 6.914, y: 0), control2: CGPoint(x: 7.268, y: 0.146))
        p.addCurve(to: CGPoint(x: 8, y: 1.5), control1: CGPoint(x: 7.854, y: 0.732), control2: CGPoint(x: 8, y: 1.086))
        p.addCurve(to: CGPoint(x: 7.561, y: 2.561), control1: CGPoint(x: 8, y: 1.914), control2: CGPoint(x: 7.854, y: 2.268))
        p.addCurve(to: CGPoint(x: 6.5, y: 3), control1: CGPoint(x: 7.268, y: 2.854), control2: CGPoint(x: 6.914, y: 3))
        p.addCurve(to: CGPoint(x: 5.439, y: 2.561), control1: CGPoint(x: 6.086, y: 3), control2: CGPoint(x: 5.732, y: 2.854))
        p.addCurve(to: CGPoint(x: 5, y: 1.5), control1: CGPoint(x: 5.146, y: 2.268), control2: CGPoint(x: 5, y: 1.914))
        p.addCurve(to: CGPoint(x: 5.439, y: 0.439), control1: CGPoint(x: 5, y: 1.086), control2: CGPoint(x: 5.146, y: 0.732))
        p.closeSubpath()
        p.move(to: CGPoint(x: 12.561, y: 0.439))
        p.addCurve(to: CGPoint(x: 13, y: 1.5), control1: CGPoint(x: 12.854, y: 0.732), control2: CGPoint(x: 13, y: 1.086))
        p.addCurve(to: CGPoint(x: 12.561, y: 2.561), control1: CGPoint(x: 13, y: 1.914), control2: CGPoint(x: 12.854, y: 2.268))
        p.addCurve(to: CGPoint(x: 11.5, y: 3), control1: CGPoint(x: 12.268, y: 2.854), control2: CGPoint(x: 11.914, y: 3))
        p.addCurve(to: CGPoint(x: 10.439, y: 2.561), control1: CGPoint(x: 11.086, y: 3), control2: CGPoint(x: 10.732, y: 2.854))
        p.addCurve(to: CGPoint(x: 10, y: 1.5), control1: CGPoint(x: 10.146, y: 2.268), control2: CGPoint(x: 10, y: 1.914))
        p.addCurve(to: CGPoint(x: 10.439, y: 0.439), control1: CGPoint(x: 10, y: 1.086), control2: CGPoint(x: 10.146, y: 0.732))
        p.addCurve(to: CGPoint(x: 11.5, y: 0), control1: CGPoint(x: 10.732, y: 0.146), control2: CGPoint(x: 11.086, y: 0))
        p.addCurve(to: CGPoint(x: 12.561, y: 0.439), control1: CGPoint(x: 11.914, y: 0), control2: CGPoint(x: 12.268, y: 0.146))
        p.closeSubpath()
        p.move(to: CGPoint(x: 2.561, y: 5.439))
        p.addCurve(to: CGPoint(x: 3, y: 6.5), control1: CGPoint(x: 2.854, y: 5.732), control2: CGPoint(x: 3, y: 6.086))
        p.addCurve(to: CGPoint(x: 2.561, y: 7.561), control1: CGPoint(x: 3, y: 6.914), control2: CGPoint(x: 2.854, y: 7.268))
        p.addCurve(to: CGPoint(x: 1.5, y: 8), control1: CGPoint(x: 2.268, y: 7.854), control2: CGPoint(x: 1.914, y: 8))
        p.addCurve(to: CGPoint(x: 0.439, y: 7.561), control1: CGPoint(x: 1.086, y: 8), control2: CGPoint(x: 0.732, y: 7.854))
        p.addCurve(to: CGPoint(x: 0, y: 6.5), control1: CGPoint(x: 0.146, y: 7.268), control2: CGPoint(x: 0, y: 6.914))
        p.addCurve(to: CGPoint(x: 0.439, y: 5.439), control1: CGPoint(x: 0, y: 6.086), control2: CGPoint(x: 0.146, y: 5.732))
        p.addCurve(to: CGPoint(x: 1.5, y: 5), control1: CGPoint(x: 0.732, y: 5.146), control2: CGPoint(x: 1.086, y: 5))
        p.addCurve(to: CGPoint(x: 2.561, y: 5.439), control1: CGPoint(x: 1.914, y: 5), control2: CGPoint(x: 2.268, y: 5.146))
        p.closeSubpath()
        p.move(to: CGPoint(x: 7.561, y: 5.439))
        p.addCurve(to: CGPoint(x: 8, y: 6.5), control1: CGPoint(x: 7.854, y: 5.732), control2: CGPoint(x: 8, y: 6.086))
        p.addCurve(to: CGPoint(x: 7.561, y: 7.561), control1: CGPoint(x: 8, y: 6.914), control2: CGPoint(x: 7.854, y: 7.268))
        p.addCurve(to: CGPoint(x: 6.5, y: 8), control1: CGPoint(x: 7.268, y: 7.854), control2: CGPoint(x: 6.914, y: 8))
        p.addCurve(to: CGPoint(x: 5.439, y: 7.561), control1: CGPoint(x: 6.086, y: 8), control2: CGPoint(x: 5.732, y: 7.854))
        p.addCurve(to: CGPoint(x: 5, y: 6.5), control1: CGPoint(x: 5.146, y: 7.268), control2: CGPoint(x: 5, y: 6.914))
        p.addCurve(to: CGPoint(x: 5.439, y: 5.439), control1: CGPoint(x: 5, y: 6.086), control2: CGPoint(x: 5.146, y: 5.732))
        p.addCurve(to: CGPoint(x: 6.5, y: 5), control1: CGPoint(x: 5.732, y: 5.146), control2: CGPoint(x: 6.086, y: 5))
        p.addCurve(to: CGPoint(x: 7.561, y: 5.439), control1: CGPoint(x: 6.914, y: 5), control2: CGPoint(x: 7.268, y: 5.146))
        p.closeSubpath()
        p.move(to: CGPoint(x: 10.439, y: 5.439))
        p.addCurve(to: CGPoint(x: 11.5, y: 5), control1: CGPoint(x: 10.732, y: 5.146), control2: CGPoint(x: 11.086, y: 5))
        p.addCurve(to: CGPoint(x: 12.561, y: 5.439), control1: CGPoint(x: 11.914, y: 5), control2: CGPoint(x: 12.268, y: 5.146))
        p.addCurve(to: CGPoint(x: 13, y: 6.5), control1: CGPoint(x: 12.854, y: 5.732), control2: CGPoint(x: 13, y: 6.086))
        p.addCurve(to: CGPoint(x: 12.615, y: 7.503), control1: CGPoint(x: 13, y: 6.888), control2: CGPoint(x: 12.872, y: 7.222))
        p.addCurve(to: CGPoint(x: 12.486, y: 6.836), control1: CGPoint(x: 12.569, y: 7.296), control2: CGPoint(x: 12.526, y: 7.074))
        p.addCurve(to: CGPoint(x: 11.336, y: 6.014), control1: CGPoint(x: 12.396, y: 6.291), control2: CGPoint(x: 11.88, y: 5.923))
        p.addCurve(to: CGPoint(x: 10.514, y: 6.836), control1: CGPoint(x: 10.914, y: 6.084), control2: CGPoint(x: 10.584, y: 6.414))
        p.addCurve(to: CGPoint(x: 10.385, y: 7.503), control1: CGPoint(x: 10.474, y: 7.074), control2: CGPoint(x: 10.431, y: 7.296))
        p.addCurve(to: CGPoint(x: 10, y: 6.5), control1: CGPoint(x: 10.128, y: 7.222), control2: CGPoint(x: 10, y: 6.888))
        p.addCurve(to: CGPoint(x: 10.439, y: 5.439), control1: CGPoint(x: 10, y: 6.086), control2: CGPoint(x: 10.146, y: 5.732))
        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: 0.439, y: 10.439))
        p.addCurve(to: CGPoint(x: 1.5, y: 10), control1: CGPoint(x: 0.732, y: 10.146), control2: CGPoint(x: 1.086, y: 10))
        p.addCurve(to: CGPoint(x: 2.561, y: 10.439), control1: CGPoint(x: 1.914, y: 10), control2: CGPoint(x: 2.268, y: 10.146))
        p.addCurve(to: CGPoint(x: 3, y: 11.5), control1: CGPoint(x: 2.854, y: 10.732), control2: CGPoint(x: 3, y: 11.086))
        p.addCurve(to: CGPoint(x: 2.561, y: 12.561), control1: CGPoint(x: 3, y: 11.914), control2: CGPoint(x: 2.854, y: 12.268))
        p.addCurve(to: CGPoint(x: 1.5, y: 13), control1: CGPoint(x: 2.268, y: 12.854), control2: CGPoint(x: 1.914, y: 13))
        p.addCurve(to: CGPoint(x: 0.439, y: 12.561), control1: CGPoint(x: 1.086, y: 13), control2: CGPoint(x: 0.732, y: 12.854))
        p.addCurve(to: CGPoint(x: 0, y: 11.5), control1: CGPoint(x: 0.146, y: 12.268), control2: CGPoint(x: 0, y: 11.914))
        p.addCurve(to: CGPoint(x: 0.439, y: 10.439), control1: CGPoint(x: 0, y: 11.086), control2: CGPoint(x: 0.146, y: 10.732))
        p.closeSubpath()
        p.move(to: CGPoint(x: 6.836, y: 10.514))
        p.addCurve(to: CGPoint(x: 6.014, y: 11.664), control1: CGPoint(x: 6.291, y: 10.604), control2: CGPoint(x: 5.923, y: 11.12))
        p.addCurve(to: CGPoint(x: 6.836, y: 12.486), control1: CGPoint(x: 6.084, y: 12.086), control2: CGPoint(x: 6.414, y: 12.416))
        p.addCurve(to: CGPoint(x: 7.503, y: 12.615), control1: CGPoint(x: 7.074, y: 12.526), control2: CGPoint(x: 7.296, y: 12.569))
        p.addCurve(to: CGPoint(x: 6.5, y: 13), control1: CGPoint(x: 7.222, y: 12.872), control2: CGPoint(x: 6.888, y: 13))
        p.addCurve(to: CGPoint(x: 5.439, y: 12.561), control1: CGPoint(x: 6.086, y: 13), control2: CGPoint(x: 5.732, y: 12.854))
        p.addCurve(to: CGPoint(x: 5, y: 11.5), control1: CGPoint(x: 5.146, y: 12.268), control2: CGPoint(x: 5, y: 11.914))
        p.addCurve(to: CGPoint(x: 5.439, y: 10.439), control1: CGPoint(x: 5, y: 11.086), control2: CGPoint(x: 5.146, y: 10.732))
        p.addCurve(to: CGPoint(x: 6.5, y: 10), control1: CGPoint(x: 5.732, y: 10.146), control2: CGPoint(x: 6.086, y: 10))
        p.addCurve(to: CGPoint(x: 7.503, y: 10.385), control1: CGPoint(x: 6.888, y: 10), control2: CGPoint(x: 7.222, y: 10.128))
        p.addCurve(to: CGPoint(x: 6.836, y: 10.514), control1: CGPoint(x: 7.296, y: 10.431), control2: CGPoint(x: 7.074, y: 10.474))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

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

### Compose

```kotlin
// Gentleface "apps-sparkle" (line-round), MIT. https://gentleface.com/icons/apps-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 AppsSparkleIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "apps-sparkle", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M0.439 0.439C0.732 0.146 1.086 0 1.5 0C1.914 0 2.268 0.146 2.561 0.439C2.854 0.732 3 1.086 3 1.5C3 1.914 2.854 2.268 2.561 2.561C2.268 2.854 1.914 3 1.5 3C1.086 3 0.732 2.854 0.439 2.561C0.146 2.268 0 1.914 0 1.5C0 1.086 0.146 0.732 0.439 0.439ZM5.439 0.439C5.732 0.146 6.086 0 6.5 0C6.914 0 7.268 0.146 7.561 0.439C7.854 0.732 8 1.086 8 1.5C8 1.914 7.854 2.268 7.561 2.561C7.268 2.854 6.914 3 6.5 3C6.086 3 5.732 2.854 5.439 2.561C5.146 2.268 5 1.914 5 1.5C5 1.086 5.146 0.732 5.439 0.439ZM12.561 0.439C12.854 0.732 13 1.086 13 1.5C13 1.914 12.854 2.268 12.561 2.561C12.268 2.854 11.914 3 11.5 3C11.086 3 10.732 2.854 10.439 2.561C10.146 2.268 10 1.914 10 1.5C10 1.086 10.146 0.732 10.439 0.439C10.732 0.146 11.086 0 11.5 0C11.914 0 12.268 0.146 12.561 0.439ZM2.561 5.439C2.854 5.732 3 6.086 3 6.5C3 6.914 2.854 7.268 2.561 7.561C2.268 7.854 1.914 8 1.5 8C1.086 8 0.732 7.854 0.439 7.561C0.146 7.268 0 6.914 0 6.5C0 6.086 0.146 5.732 0.439 5.439C0.732 5.146 1.086 5 1.5 5C1.914 5 2.268 5.146 2.561 5.439ZM7.561 5.439C7.854 5.732 8 6.086 8 6.5C8 6.914 7.854 7.268 7.561 7.561C7.268 7.854 6.914 8 6.5 8C6.086 8 5.732 7.854 5.439 7.561C5.146 7.268 5 6.914 5 6.5C5 6.086 5.146 5.732 5.439 5.439C5.732 5.146 6.086 5 6.5 5C6.914 5 7.268 5.146 7.561 5.439ZM10.439 5.439C10.732 5.146 11.086 5 11.5 5C11.914 5 12.268 5.146 12.561 5.439C12.854 5.732 13 6.086 13 6.5C13 6.888 12.872 7.222 12.615 7.503C12.569 7.296 12.526 7.074 12.486 6.836C12.396 6.291 11.88 5.923 11.336 6.014C10.914 6.084 10.584 6.414 10.514 6.836C10.474 7.074 10.431 7.296 10.385 7.503C10.128 7.222 10 6.888 10 6.5C10 6.086 10.146 5.732 10.439 5.439ZM11.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 16ZM0.439 10.439C0.732 10.146 1.086 10 1.5 10C1.914 10 2.268 10.146 2.561 10.439C2.854 10.732 3 11.086 3 11.5C3 11.914 2.854 12.268 2.561 12.561C2.268 12.854 1.914 13 1.5 13C1.086 13 0.732 12.854 0.439 12.561C0.146 12.268 0 11.914 0 11.5C0 11.086 0.146 10.732 0.439 10.439ZM6.836 10.514C6.291 10.604 5.923 11.12 6.014 11.664C6.084 12.086 6.414 12.416 6.836 12.486C7.074 12.526 7.296 12.569 7.503 12.615C7.222 12.872 6.888 13 6.5 13C6.086 13 5.732 12.854 5.439 12.561C5.146 12.268 5 11.914 5 11.5C5 11.086 5.146 10.732 5.439 10.439C5.732 10.146 6.086 10 6.5 10C6.888 10 7.222 10.128 7.503 10.385C7.296 10.431 7.074 10.474 6.836 10.514Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

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

### Android XML

```xml
<!-- res/drawable/ic_apps_sparkle.xml · Gentleface "apps-sparkle" (line-round), MIT. https://gentleface.com/icons/apps-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="M0.439 0.439C0.732 0.146 1.086 0 1.5 0C1.914 0 2.268 0.146 2.561 0.439C2.854 0.732 3 1.086 3 1.5C3 1.914 2.854 2.268 2.561 2.561C2.268 2.854 1.914 3 1.5 3C1.086 3 0.732 2.854 0.439 2.561C0.146 2.268 0 1.914 0 1.5C0 1.086 0.146 0.732 0.439 0.439ZM5.439 0.439C5.732 0.146 6.086 0 6.5 0C6.914 0 7.268 0.146 7.561 0.439C7.854 0.732 8 1.086 8 1.5C8 1.914 7.854 2.268 7.561 2.561C7.268 2.854 6.914 3 6.5 3C6.086 3 5.732 2.854 5.439 2.561C5.146 2.268 5 1.914 5 1.5C5 1.086 5.146 0.732 5.439 0.439ZM12.561 0.439C12.854 0.732 13 1.086 13 1.5C13 1.914 12.854 2.268 12.561 2.561C12.268 2.854 11.914 3 11.5 3C11.086 3 10.732 2.854 10.439 2.561C10.146 2.268 10 1.914 10 1.5C10 1.086 10.146 0.732 10.439 0.439C10.732 0.146 11.086 0 11.5 0C11.914 0 12.268 0.146 12.561 0.439ZM2.561 5.439C2.854 5.732 3 6.086 3 6.5C3 6.914 2.854 7.268 2.561 7.561C2.268 7.854 1.914 8 1.5 8C1.086 8 0.732 7.854 0.439 7.561C0.146 7.268 0 6.914 0 6.5C0 6.086 0.146 5.732 0.439 5.439C0.732 5.146 1.086 5 1.5 5C1.914 5 2.268 5.146 2.561 5.439ZM7.561 5.439C7.854 5.732 8 6.086 8 6.5C8 6.914 7.854 7.268 7.561 7.561C7.268 7.854 6.914 8 6.5 8C6.086 8 5.732 7.854 5.439 7.561C5.146 7.268 5 6.914 5 6.5C5 6.086 5.146 5.732 5.439 5.439C5.732 5.146 6.086 5 6.5 5C6.914 5 7.268 5.146 7.561 5.439ZM10.439 5.439C10.732 5.146 11.086 5 11.5 5C11.914 5 12.268 5.146 12.561 5.439C12.854 5.732 13 6.086 13 6.5C13 6.888 12.872 7.222 12.615 7.503C12.569 7.296 12.526 7.074 12.486 6.836C12.396 6.291 11.88 5.923 11.336 6.014C10.914 6.084 10.584 6.414 10.514 6.836C10.474 7.074 10.431 7.296 10.385 7.503C10.128 7.222 10 6.888 10 6.5C10 6.086 10.146 5.732 10.439 5.439ZM11.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 16ZM0.439 10.439C0.732 10.146 1.086 10 1.5 10C1.914 10 2.268 10.146 2.561 10.439C2.854 10.732 3 11.086 3 11.5C3 11.914 2.854 12.268 2.561 12.561C2.268 12.854 1.914 13 1.5 13C1.086 13 0.732 12.854 0.439 12.561C0.146 12.268 0 11.914 0 11.5C0 11.086 0.146 10.732 0.439 10.439ZM6.836 10.514C6.291 10.604 5.923 11.12 6.014 11.664C6.084 12.086 6.414 12.416 6.836 12.486C7.074 12.526 7.296 12.569 7.503 12.615C7.222 12.872 6.888 13 6.5 13C6.086 13 5.732 12.854 5.439 12.561C5.146 12.268 5 11.914 5 11.5C5 11.086 5.146 10.732 5.439 10.439C5.732 10.146 6.086 10 6.5 10C6.888 10 7.222 10.128 7.503 10.385C7.296 10.431 7.074 10.474 6.836 10.514Z"/>
</vector>
```

### Flutter

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

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

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

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

  @override
  void paint(Canvas canvas, Size size) {
    canvas.scale(size.width / 16, size.height / 16);
    final p = Path()
      ..moveTo(0.439, 0.439)
      ..cubicTo(0.732, 0.146, 1.086, 0, 1.5, 0)
      ..cubicTo(1.914, 0, 2.268, 0.146, 2.561, 0.439)
      ..cubicTo(2.854, 0.732, 3, 1.086, 3, 1.5)
      ..cubicTo(3, 1.914, 2.854, 2.268, 2.561, 2.561)
      ..cubicTo(2.268, 2.854, 1.914, 3, 1.5, 3)
      ..cubicTo(1.086, 3, 0.732, 2.854, 0.439, 2.561)
      ..cubicTo(0.146, 2.268, 0, 1.914, 0, 1.5)
      ..cubicTo(0, 1.086, 0.146, 0.732, 0.439, 0.439)
      ..close()
      ..moveTo(5.439, 0.439)
      ..cubicTo(5.732, 0.146, 6.086, 0, 6.5, 0)
      ..cubicTo(6.914, 0, 7.268, 0.146, 7.561, 0.439)
      ..cubicTo(7.854, 0.732, 8, 1.086, 8, 1.5)
      ..cubicTo(8, 1.914, 7.854, 2.268, 7.561, 2.561)
      ..cubicTo(7.268, 2.854, 6.914, 3, 6.5, 3)
      ..cubicTo(6.086, 3, 5.732, 2.854, 5.439, 2.561)
      ..cubicTo(5.146, 2.268, 5, 1.914, 5, 1.5)
      ..cubicTo(5, 1.086, 5.146, 0.732, 5.439, 0.439)
      ..close()
      ..moveTo(12.561, 0.439)
      ..cubicTo(12.854, 0.732, 13, 1.086, 13, 1.5)
      ..cubicTo(13, 1.914, 12.854, 2.268, 12.561, 2.561)
      ..cubicTo(12.268, 2.854, 11.914, 3, 11.5, 3)
      ..cubicTo(11.086, 3, 10.732, 2.854, 10.439, 2.561)
      ..cubicTo(10.146, 2.268, 10, 1.914, 10, 1.5)
      ..cubicTo(10, 1.086, 10.146, 0.732, 10.439, 0.439)
      ..cubicTo(10.732, 0.146, 11.086, 0, 11.5, 0)
      ..cubicTo(11.914, 0, 12.268, 0.146, 12.561, 0.439)
      ..close()
      ..moveTo(2.561, 5.439)
      ..cubicTo(2.854, 5.732, 3, 6.086, 3, 6.5)
      ..cubicTo(3, 6.914, 2.854, 7.268, 2.561, 7.561)
      ..cubicTo(2.268, 7.854, 1.914, 8, 1.5, 8)
      ..cubicTo(1.086, 8, 0.732, 7.854, 0.439, 7.561)
      ..cubicTo(0.146, 7.268, 0, 6.914, 0, 6.5)
      ..cubicTo(0, 6.086, 0.146, 5.732, 0.439, 5.439)
      ..cubicTo(0.732, 5.146, 1.086, 5, 1.5, 5)
      ..cubicTo(1.914, 5, 2.268, 5.146, 2.561, 5.439)
      ..close()
      ..moveTo(7.561, 5.439)
      ..cubicTo(7.854, 5.732, 8, 6.086, 8, 6.5)
      ..cubicTo(8, 6.914, 7.854, 7.268, 7.561, 7.561)
      ..cubicTo(7.268, 7.854, 6.914, 8, 6.5, 8)
      ..cubicTo(6.086, 8, 5.732, 7.854, 5.439, 7.561)
      ..cubicTo(5.146, 7.268, 5, 6.914, 5, 6.5)
      ..cubicTo(5, 6.086, 5.146, 5.732, 5.439, 5.439)
      ..cubicTo(5.732, 5.146, 6.086, 5, 6.5, 5)
      ..cubicTo(6.914, 5, 7.268, 5.146, 7.561, 5.439)
      ..close()
      ..moveTo(10.439, 5.439)
      ..cubicTo(10.732, 5.146, 11.086, 5, 11.5, 5)
      ..cubicTo(11.914, 5, 12.268, 5.146, 12.561, 5.439)
      ..cubicTo(12.854, 5.732, 13, 6.086, 13, 6.5)
      ..cubicTo(13, 6.888, 12.872, 7.222, 12.615, 7.503)
      ..cubicTo(12.569, 7.296, 12.526, 7.074, 12.486, 6.836)
      ..cubicTo(12.396, 6.291, 11.88, 5.923, 11.336, 6.014)
      ..cubicTo(10.914, 6.084, 10.584, 6.414, 10.514, 6.836)
      ..cubicTo(10.474, 7.074, 10.431, 7.296, 10.385, 7.503)
      ..cubicTo(10.128, 7.222, 10, 6.888, 10, 6.5)
      ..cubicTo(10, 6.086, 10.146, 5.732, 10.439, 5.439)
      ..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(0.439, 10.439)
      ..cubicTo(0.732, 10.146, 1.086, 10, 1.5, 10)
      ..cubicTo(1.914, 10, 2.268, 10.146, 2.561, 10.439)
      ..cubicTo(2.854, 10.732, 3, 11.086, 3, 11.5)
      ..cubicTo(3, 11.914, 2.854, 12.268, 2.561, 12.561)
      ..cubicTo(2.268, 12.854, 1.914, 13, 1.5, 13)
      ..cubicTo(1.086, 13, 0.732, 12.854, 0.439, 12.561)
      ..cubicTo(0.146, 12.268, 0, 11.914, 0, 11.5)
      ..cubicTo(0, 11.086, 0.146, 10.732, 0.439, 10.439)
      ..close()
      ..moveTo(6.836, 10.514)
      ..cubicTo(6.291, 10.604, 5.923, 11.12, 6.014, 11.664)
      ..cubicTo(6.084, 12.086, 6.414, 12.416, 6.836, 12.486)
      ..cubicTo(7.074, 12.526, 7.296, 12.569, 7.503, 12.615)
      ..cubicTo(7.222, 12.872, 6.888, 13, 6.5, 13)
      ..cubicTo(6.086, 13, 5.732, 12.854, 5.439, 12.561)
      ..cubicTo(5.146, 12.268, 5, 11.914, 5, 11.5)
      ..cubicTo(5, 11.086, 5.146, 10.732, 5.439, 10.439)
      ..cubicTo(5.732, 10.146, 6.086, 10, 6.5, 10)
      ..cubicTo(6.888, 10, 7.222, 10.128, 7.503, 10.385)
      ..cubicTo(7.296, 10.431, 7.074, 10.474, 6.836, 10.514)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

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