# api-sparkle icon

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

- Category: Development
- Use it for: ai gateway, llm gateway, ai api
- Example: AI Gateway page in a cloud dashboard
- Built from: api + sparkle
- Tags: api, endpoint, interface, rest, graphql, sdk, integration, developer, programming, service, application-programming-interface, sparkle
- Family: api, api-off
- Component name: ApiSparkleIcon
- Added: 2026-11-06
- Since: version 0.4.0
- npm: `import { ApiSparkleIcon } 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/api-sparkle.svg · PNG https://gentleface.com/png/line-round/16/api-sparkle.png · https://gentleface.com/png/line-round/32/api-sparkle.png · https://gentleface.com/png/line-round/48/api-sparkle.png
- line-soft: https://gentleface.com/svg/line-soft/16/api-sparkle.svg · PNG https://gentleface.com/png/line-soft/16/api-sparkle.png · https://gentleface.com/png/line-soft/32/api-sparkle.png · https://gentleface.com/png/line-soft/48/api-sparkle.png
- line-sharp: https://gentleface.com/svg/line-sharp/16/api-sparkle.svg · PNG https://gentleface.com/png/line-sharp/16/api-sparkle.png · https://gentleface.com/png/line-sharp/32/api-sparkle.png · https://gentleface.com/png/line-sharp/48/api-sparkle.png
- solid-round: https://gentleface.com/svg/solid-round/16/api-sparkle.svg · PNG https://gentleface.com/png/solid-round/16/api-sparkle.png · https://gentleface.com/png/solid-round/32/api-sparkle.png · https://gentleface.com/png/solid-round/48/api-sparkle.png
- solid-soft: https://gentleface.com/svg/solid-soft/16/api-sparkle.svg · PNG https://gentleface.com/png/solid-soft/16/api-sparkle.png · https://gentleface.com/png/solid-soft/32/api-sparkle.png · https://gentleface.com/png/solid-soft/48/api-sparkle.png
- solid-sharp: https://gentleface.com/svg/solid-sharp/16/api-sparkle.svg · PNG https://gentleface.com/png/solid-sharp/16/api-sparkle.png · https://gentleface.com/png/solid-sharp/32/api-sparkle.png · https://gentleface.com/png/solid-sharp/48/api-sparkle.png

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

## Animated

`api-sparkle-call`: The sparkle twinkles out. The centre diamond draws in and fires, the four chevrons kick out a pixel together and spring back, and as they land the sparkle twinkles back in.

File: https://gentleface.com/motion/api-sparkle-call.svg (line-round, 16 px). Native SVG animation that loops by itself. To play it once, run 0.2 s to 1.5 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"><g><animateTransform attributeName="transform" type="translate" dur="2.8s" repeatCount="indefinite" keyTimes="0;0.207;0.243;0.307;0.343;1" values="0 0;0 0;0 -.9;0 .12;0 0;0 0" calcMode="spline" keySplines="0 0 1 1;.15 .75 .25 1;.37 0 .63 1;.37 0 .63 1;0 0 1 1"/><path d="M5.5 3.5L7.5 1.5L9.5 3.5" stroke-dasharray="5.657 7.657" stroke-dashoffset="0"></path></g><g><animateTransform attributeName="transform" type="translate" dur="2.8s" repeatCount="indefinite" keyTimes="0;0.207;0.243;0.307;0.343;1" values="0 0;0 0;.9 0;-.12 0;0 0;0 0" calcMode="spline" keySplines="0 0 1 1;.15 .75 .25 1;.37 0 .63 1;.37 0 .63 1;0 0 1 1"/><path d="M11.5 5.5L13.5 7.5L11.5 9.5" stroke-dasharray="3.315 7.657" stroke-dashoffset="0"><animate attributeName="stroke-dasharray" dur="2.8s" repeatCount="indefinite" keyTimes="0;0.089;0.098;0.107;0.116;0.125;0.134;0.143;0.152;0.161;0.364;0.373;0.382;0.391;0.4;0.408;0.417;0.426;0.435;0.444;0.453;0.461;0.47;0.479;0.488;0.497;0.505;0.514;1" values="3.315 7.657;3.315 7.657;3.316 7.657;3.316 7.657;3.312 7.657;3.288 7.657;3.209 7.657;3.369 7.657;5.657 7.657;5.657 7.657;5.657 7.657;5.657 7.657;4.746 7.657;4.054 7.657;3.541 7.657;3.153 7.657;2.869 7.657;0 7.657;0 7.657;0 7.657;0 7.657;0 7.657;0 7.657;0 7.657;2.992 7.657;3.168 7.657;3.278 7.657;3.315 7.657;3.315 7.657"/><animate attributeName="stroke-dashoffset" dur="2.8s" repeatCount="indefinite" keyTimes="0;0.089;0.098;0.107;0.116;0.125;0.134;0.143;0.152;0.161;0.364;0.373;0.382;0.391;0.4;0.408;0.417;0.426;0.435;0.444;0.453;0.461;0.47;0.479;0.488;0.497;0.505;0.514;1" values="0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0"/><animate attributeName="visibility" calcMode="discrete" dur="2.8s" repeatCount="indefinite" keyTimes="0;0.426;0.479" values="visible;hidden;visible"/></path></g><g><animateTransform attributeName="transform" type="translate" dur="2.8s" repeatCount="indefinite" keyTimes="0;0.207;0.243;0.307;0.343;1" values="0 0;0 0;0 .9;0 -.12;0 0;0 0" calcMode="spline" keySplines="0 0 1 1;.15 .75 .25 1;.37 0 .63 1;.37 0 .63 1;0 0 1 1"/><path d="M9.5 11.5L7.5 13.5L5.5 11.5" stroke-dasharray="3.316 7.657" stroke-dashoffset="-2.341"><animate attributeName="stroke-dasharray" dur="2.8s" repeatCount="indefinite" keyTimes="0;0.089;0.098;0.107;0.116;0.125;0.134;0.143;0.152;0.161;0.364;0.373;0.382;0.391;0.4;0.408;0.417;0.426;0.435;0.444;0.453;0.461;0.47;0.479;0.488;0.497;0.505;0.514;1" values="3.316 7.657;3.315 7.657;3.346 7.657;3.444 7.657;3.62 7.657;3.889 7.657;4.267 7.657;4.793 7.657;5.657 7.657;5.657 7.657;5.657 7.657;5.657 7.657;2.724 7.657;3.042 7.657;3.436 7.657;3.602 7.657;3.687 7.657;3.737 7.657;3.773 7.657;3.796 7.657;3.806 7.657;3.803 7.657;3.761 7.657;3.68 7.657;3.568 7.657;3.446 7.657;3.351 7.657;3.315 7.657;3.316 7.657"/><animate attributeName="stroke-dashoffset" dur="2.8s" repeatCount="indefinite" keyTimes="0;0.089;0.098;0.107;0.116;0.125;0.134;0.143;0.152;0.161;0.364;0.373;0.382;0.391;0.4;0.408;0.417;0.426;0.435;0.444;0.453;0.461;0.47;0.479;0.488;0.497;0.505;0.514;1" values="-2.341;-2.341;-2.311;-2.213;-2.036;-1.768;-1.389;-.864;0;0;0;0;-2.933;-2.615;-2.221;-2.055;-1.97;-1.92;-1.884;-1.861;-1.851;-1.854;-1.896;-1.976;-2.089;-2.21;-2.306;-2.341;-2.341"/></path></g><g><animateTransform attributeName="transform" type="translate" dur="2.8s" repeatCount="indefinite" keyTimes="0;0.207;0.243;0.307;0.343;1" values="0 0;0 0;-.9 0;.12 0;0 0;0 0" calcMode="spline" keySplines="0 0 1 1;.15 .75 .25 1;.37 0 .63 1;.37 0 .63 1;0 0 1 1"/><path d="M3.5 9.5L1.5 7.5L3.5 5.5" stroke-dasharray="5.657 7.657" stroke-dashoffset="0"></path></g><mask id="apm" 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.364;0.436;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.364;0.457;0.514;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(#apm)"><g transform="translate(7.5 7.5)"><g><animateTransform attributeName="transform" type="scale" dur="2.8s" repeatCount="indefinite" keyTimes="0;0.143;0.207;0.243;0.307;1" values="1;1;.78;1.14;1;1" calcMode="spline" keySplines="0 0 1 1;.6 0 .9 .4;.15 .75 .25 1;.37 0 .63 1;0 0 1 1"/><path fill="currentColor" stroke="none" d="M8.75 6.25L9.293 6.793C9.683 7.183 9.683 7.817 9.293 8.207L8.207 9.293C7.817 9.683 7.183 9.683 6.793 9.293L5.707 8.207C5.317 7.817 5.317 7.183 5.707 6.793L6.793 5.707C7.183 5.317 7.817 5.317 8.207 5.707L8.75 6.25Z" transform="translate(-7.5 -7.5)"></path></g></g></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.364;0.436;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.364" values="visible;hidden;visible"/><g><animateTransform attributeName="transform" type="rotate" dur="2.8s" repeatCount="indefinite" keyTimes="0;0.089;0.161;0.364;0.457;0.514;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="M7.5 1C7.638 1 7.756 1.049 7.854 1.146L9.854 3.146C9.951 3.244 10 3.362 10 3.5C10 3.638 9.951 3.756 9.854 3.854C9.754 3.953 9.636 4.003 9.5 4.003C9.364 4.003 9.246 3.953 9.146 3.854L7.5 2.207L5.854 3.854C5.754 3.953 5.636 4.003 5.5 4.003C5.364 4.003 5.246 3.953 5.146 3.854C5.049 3.756 5 3.638 5 3.5C5 3.362 5.049 3.244 5.146 3.146L7.146 1.146C7.244 1.049 7.362 1 7.5 1ZM13.509 8.198C13.41 8.298 13.292 8.347 13.156 8.347C13.02 8.347 12.902 8.298 12.802 8.198L12.802 8.198C12.755 8.053 12.71 7.896 12.668 7.728C12.688 7.643 12.729 7.567 12.793 7.5L12.567 7.274C12.539 7.134 12.512 6.988 12.486 6.836C12.396 6.291 11.88 5.923 11.336 6.014C11.327 6.015 11.319 6.016 11.311 6.018L11.146 5.854C11.049 5.756 11 5.638 11 5.5C11 5.362 11.049 5.244 11.146 5.146C11.246 5.047 11.364 4.997 11.5 4.997C11.636 4.997 11.754 5.047 11.854 5.146L13.854 7.146C13.953 7.246 14.003 7.364 14.003 7.5C14.003 7.636 13.953 7.754 13.854 7.854L13.509 8.198ZM3.5 5C3.638 5 3.756 5.049 3.854 5.146C3.953 5.246 4.003 5.364 4.003 5.5C4.003 5.636 3.953 5.754 3.854 5.854L2.207 7.5L3.854 9.146C3.953 9.246 4.003 9.364 4.003 9.5C4.003 9.636 3.953 9.754 3.854 9.854C3.756 9.951 3.638 10 3.5 10C3.362 10 3.244 9.951 3.146 9.854L1.146 7.854C1.049 7.756 1 7.638 1 7.5C1 7.362 1.049 7.244 1.146 7.146L3.146 5.146C3.244 5.049 3.362 5 3.5 5ZM9.586 7.5C9.586 7.776 9.488 8.012 9.293 8.207L8.207 9.293C8.012 9.488 7.776 9.586 7.5 9.586C7.224 9.586 6.988 9.488 6.793 9.293L5.707 8.207C5.512 8.012 5.414 7.776 5.414 7.5C5.414 7.224 5.512 6.988 5.707 6.793L6.793 5.707C6.988 5.512 7.224 5.414 7.5 5.414C7.776 5.414 8.012 5.512 8.207 5.707L9.293 6.793C9.488 6.988 9.586 7.224 9.586 7.5ZM11.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 16ZM6.014 11.664C6.084 12.086 6.414 12.416 6.836 12.486C6.988 12.512 7.134 12.539 7.274 12.567L7.5 12.793C7.567 12.73 7.641 12.688 7.723 12.667C7.893 12.71 8.051 12.754 8.198 12.802L8.198 12.802C8.298 12.902 8.347 13.02 8.347 13.156C8.347 13.292 8.298 13.409 8.198 13.509L7.854 13.854C7.754 13.953 7.636 14.003 7.5 14.003C7.364 14.003 7.246 13.953 7.146 13.854L5.146 11.854C5.047 11.754 4.997 11.636 4.997 11.5C4.997 11.364 5.047 11.246 5.146 11.146C5.244 11.049 5.362 11 5.5 11C5.638 11 5.756 11.049 5.854 11.146L6.018 11.311C5.996 11.428 5.994 11.547 6.014 11.664Z"/></svg>
```

### React

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

export function ApiSparkleIcon(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="M7.5 1C7.638 1 7.756 1.049 7.854 1.146L9.854 3.146C9.951 3.244 10 3.362 10 3.5C10 3.638 9.951 3.756 9.854 3.854C9.754 3.953 9.636 4.003 9.5 4.003C9.364 4.003 9.246 3.953 9.146 3.854L7.5 2.207L5.854 3.854C5.754 3.953 5.636 4.003 5.5 4.003C5.364 4.003 5.246 3.953 5.146 3.854C5.049 3.756 5 3.638 5 3.5C5 3.362 5.049 3.244 5.146 3.146L7.146 1.146C7.244 1.049 7.362 1 7.5 1ZM13.509 8.198C13.41 8.298 13.292 8.347 13.156 8.347C13.02 8.347 12.902 8.298 12.802 8.198L12.802 8.198C12.755 8.053 12.71 7.896 12.668 7.728C12.688 7.643 12.729 7.567 12.793 7.5L12.567 7.274C12.539 7.134 12.512 6.988 12.486 6.836C12.396 6.291 11.88 5.923 11.336 6.014C11.327 6.015 11.319 6.016 11.311 6.018L11.146 5.854C11.049 5.756 11 5.638 11 5.5C11 5.362 11.049 5.244 11.146 5.146C11.246 5.047 11.364 4.997 11.5 4.997C11.636 4.997 11.754 5.047 11.854 5.146L13.854 7.146C13.953 7.246 14.003 7.364 14.003 7.5C14.003 7.636 13.953 7.754 13.854 7.854L13.509 8.198ZM3.5 5C3.638 5 3.756 5.049 3.854 5.146C3.953 5.246 4.003 5.364 4.003 5.5C4.003 5.636 3.953 5.754 3.854 5.854L2.207 7.5L3.854 9.146C3.953 9.246 4.003 9.364 4.003 9.5C4.003 9.636 3.953 9.754 3.854 9.854C3.756 9.951 3.638 10 3.5 10C3.362 10 3.244 9.951 3.146 9.854L1.146 7.854C1.049 7.756 1 7.638 1 7.5C1 7.362 1.049 7.244 1.146 7.146L3.146 5.146C3.244 5.049 3.362 5 3.5 5ZM9.586 7.5C9.586 7.776 9.488 8.012 9.293 8.207L8.207 9.293C8.012 9.488 7.776 9.586 7.5 9.586C7.224 9.586 6.988 9.488 6.793 9.293L5.707 8.207C5.512 8.012 5.414 7.776 5.414 7.5C5.414 7.224 5.512 6.988 5.707 6.793L6.793 5.707C6.988 5.512 7.224 5.414 7.5 5.414C7.776 5.414 8.012 5.512 8.207 5.707L9.293 6.793C9.488 6.988 9.586 7.224 9.586 7.5ZM11.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 16ZM6.014 11.664C6.084 12.086 6.414 12.416 6.836 12.486C6.988 12.512 7.134 12.539 7.274 12.567L7.5 12.793C7.567 12.73 7.641 12.688 7.723 12.667C7.893 12.71 8.051 12.754 8.198 12.802L8.198 12.802C8.298 12.902 8.347 13.02 8.347 13.156C8.347 13.292 8.298 13.409 8.198 13.509L7.854 13.854C7.754 13.953 7.636 14.003 7.5 14.003C7.364 14.003 7.246 13.953 7.146 13.854L5.146 11.854C5.047 11.754 4.997 11.636 4.997 11.5C4.997 11.364 5.047 11.246 5.146 11.146C5.244 11.049 5.362 11 5.5 11C5.638 11 5.756 11.049 5.854 11.146L6.018 11.311C5.996 11.428 5.994 11.547 6.014 11.664Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "api-sparkle" (line-round), MIT. https://gentleface.com/icons/api-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="M7.5 1C7.638 1 7.756 1.049 7.854 1.146L9.854 3.146C9.951 3.244 10 3.362 10 3.5C10 3.638 9.951 3.756 9.854 3.854C9.754 3.953 9.636 4.003 9.5 4.003C9.364 4.003 9.246 3.953 9.146 3.854L7.5 2.207L5.854 3.854C5.754 3.953 5.636 4.003 5.5 4.003C5.364 4.003 5.246 3.953 5.146 3.854C5.049 3.756 5 3.638 5 3.5C5 3.362 5.049 3.244 5.146 3.146L7.146 1.146C7.244 1.049 7.362 1 7.5 1ZM13.509 8.198C13.41 8.298 13.292 8.347 13.156 8.347C13.02 8.347 12.902 8.298 12.802 8.198L12.802 8.198C12.755 8.053 12.71 7.896 12.668 7.728C12.688 7.643 12.729 7.567 12.793 7.5L12.567 7.274C12.539 7.134 12.512 6.988 12.486 6.836C12.396 6.291 11.88 5.923 11.336 6.014C11.327 6.015 11.319 6.016 11.311 6.018L11.146 5.854C11.049 5.756 11 5.638 11 5.5C11 5.362 11.049 5.244 11.146 5.146C11.246 5.047 11.364 4.997 11.5 4.997C11.636 4.997 11.754 5.047 11.854 5.146L13.854 7.146C13.953 7.246 14.003 7.364 14.003 7.5C14.003 7.636 13.953 7.754 13.854 7.854L13.509 8.198ZM3.5 5C3.638 5 3.756 5.049 3.854 5.146C3.953 5.246 4.003 5.364 4.003 5.5C4.003 5.636 3.953 5.754 3.854 5.854L2.207 7.5L3.854 9.146C3.953 9.246 4.003 9.364 4.003 9.5C4.003 9.636 3.953 9.754 3.854 9.854C3.756 9.951 3.638 10 3.5 10C3.362 10 3.244 9.951 3.146 9.854L1.146 7.854C1.049 7.756 1 7.638 1 7.5C1 7.362 1.049 7.244 1.146 7.146L3.146 5.146C3.244 5.049 3.362 5 3.5 5ZM9.586 7.5C9.586 7.776 9.488 8.012 9.293 8.207L8.207 9.293C8.012 9.488 7.776 9.586 7.5 9.586C7.224 9.586 6.988 9.488 6.793 9.293L5.707 8.207C5.512 8.012 5.414 7.776 5.414 7.5C5.414 7.224 5.512 6.988 5.707 6.793L6.793 5.707C6.988 5.512 7.224 5.414 7.5 5.414C7.776 5.414 8.012 5.512 8.207 5.707L9.293 6.793C9.488 6.988 9.586 7.224 9.586 7.5ZM11.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 16ZM6.014 11.664C6.084 12.086 6.414 12.416 6.836 12.486C6.988 12.512 7.134 12.539 7.274 12.567L7.5 12.793C7.567 12.73 7.641 12.688 7.723 12.667C7.893 12.71 8.051 12.754 8.198 12.802L8.198 12.802C8.298 12.902 8.347 13.02 8.347 13.156C8.347 13.292 8.298 13.409 8.198 13.509L7.854 13.854C7.754 13.953 7.636 14.003 7.5 14.003C7.364 14.003 7.246 13.953 7.146 13.854L5.146 11.854C5.047 11.754 4.997 11.636 4.997 11.5C4.997 11.364 5.047 11.246 5.146 11.146C5.244 11.049 5.362 11 5.5 11C5.638 11 5.756 11.049 5.854 11.146L6.018 11.311C5.996 11.428 5.994 11.547 6.014 11.664Z" />
  </svg>
</template>
```

### Svelte

```svelte
<!-- Gentleface "api-sparkle" (line-round), MIT. https://gentleface.com/icons/api-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="M7.5 1C7.638 1 7.756 1.049 7.854 1.146L9.854 3.146C9.951 3.244 10 3.362 10 3.5C10 3.638 9.951 3.756 9.854 3.854C9.754 3.953 9.636 4.003 9.5 4.003C9.364 4.003 9.246 3.953 9.146 3.854L7.5 2.207L5.854 3.854C5.754 3.953 5.636 4.003 5.5 4.003C5.364 4.003 5.246 3.953 5.146 3.854C5.049 3.756 5 3.638 5 3.5C5 3.362 5.049 3.244 5.146 3.146L7.146 1.146C7.244 1.049 7.362 1 7.5 1ZM13.509 8.198C13.41 8.298 13.292 8.347 13.156 8.347C13.02 8.347 12.902 8.298 12.802 8.198L12.802 8.198C12.755 8.053 12.71 7.896 12.668 7.728C12.688 7.643 12.729 7.567 12.793 7.5L12.567 7.274C12.539 7.134 12.512 6.988 12.486 6.836C12.396 6.291 11.88 5.923 11.336 6.014C11.327 6.015 11.319 6.016 11.311 6.018L11.146 5.854C11.049 5.756 11 5.638 11 5.5C11 5.362 11.049 5.244 11.146 5.146C11.246 5.047 11.364 4.997 11.5 4.997C11.636 4.997 11.754 5.047 11.854 5.146L13.854 7.146C13.953 7.246 14.003 7.364 14.003 7.5C14.003 7.636 13.953 7.754 13.854 7.854L13.509 8.198ZM3.5 5C3.638 5 3.756 5.049 3.854 5.146C3.953 5.246 4.003 5.364 4.003 5.5C4.003 5.636 3.953 5.754 3.854 5.854L2.207 7.5L3.854 9.146C3.953 9.246 4.003 9.364 4.003 9.5C4.003 9.636 3.953 9.754 3.854 9.854C3.756 9.951 3.638 10 3.5 10C3.362 10 3.244 9.951 3.146 9.854L1.146 7.854C1.049 7.756 1 7.638 1 7.5C1 7.362 1.049 7.244 1.146 7.146L3.146 5.146C3.244 5.049 3.362 5 3.5 5ZM9.586 7.5C9.586 7.776 9.488 8.012 9.293 8.207L8.207 9.293C8.012 9.488 7.776 9.586 7.5 9.586C7.224 9.586 6.988 9.488 6.793 9.293L5.707 8.207C5.512 8.012 5.414 7.776 5.414 7.5C5.414 7.224 5.512 6.988 5.707 6.793L6.793 5.707C6.988 5.512 7.224 5.414 7.5 5.414C7.776 5.414 8.012 5.512 8.207 5.707L9.293 6.793C9.488 6.988 9.586 7.224 9.586 7.5ZM11.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 16ZM6.014 11.664C6.084 12.086 6.414 12.416 6.836 12.486C6.988 12.512 7.134 12.539 7.274 12.567L7.5 12.793C7.567 12.73 7.641 12.688 7.723 12.667C7.893 12.71 8.051 12.754 8.198 12.802L8.198 12.802C8.298 12.902 8.347 13.02 8.347 13.156C8.347 13.292 8.298 13.409 8.198 13.509L7.854 13.854C7.754 13.953 7.636 14.003 7.5 14.003C7.364 14.003 7.246 13.953 7.146 13.854L5.146 11.854C5.047 11.754 4.997 11.636 4.997 11.5C4.997 11.364 5.047 11.246 5.146 11.146C5.244 11.049 5.362 11 5.5 11C5.638 11 5.756 11.049 5.854 11.146L6.018 11.311C5.996 11.428 5.994 11.547 6.014 11.664Z" />
</svg>
```

### HTML img

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

### CSS

```css
/* Gentleface "api-sparkle" (line-round), MIT. https://gentleface.com/icons/api-sparkle. Takes the text color. */
.icon-api-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='M7.5 1C7.638 1 7.756 1.049 7.854 1.146L9.854 3.146C9.951 3.244 10 3.362 10 3.5C10 3.638 9.951 3.756 9.854 3.854C9.754 3.953 9.636 4.003 9.5 4.003C9.364 4.003 9.246 3.953 9.146 3.854L7.5 2.207L5.854 3.854C5.754 3.953 5.636 4.003 5.5 4.003C5.364 4.003 5.246 3.953 5.146 3.854C5.049 3.756 5 3.638 5 3.5C5 3.362 5.049 3.244 5.146 3.146L7.146 1.146C7.244 1.049 7.362 1 7.5 1ZM13.509 8.198C13.41 8.298 13.292 8.347 13.156 8.347C13.02 8.347 12.902 8.298 12.802 8.198L12.802 8.198C12.755 8.053 12.71 7.896 12.668 7.728C12.688 7.643 12.729 7.567 12.793 7.5L12.567 7.274C12.539 7.134 12.512 6.988 12.486 6.836C12.396 6.291 11.88 5.923 11.336 6.014C11.327 6.015 11.319 6.016 11.311 6.018L11.146 5.854C11.049 5.756 11 5.638 11 5.5C11 5.362 11.049 5.244 11.146 5.146C11.246 5.047 11.364 4.997 11.5 4.997C11.636 4.997 11.754 5.047 11.854 5.146L13.854 7.146C13.953 7.246 14.003 7.364 14.003 7.5C14.003 7.636 13.953 7.754 13.854 7.854L13.509 8.198ZM3.5 5C3.638 5 3.756 5.049 3.854 5.146C3.953 5.246 4.003 5.364 4.003 5.5C4.003 5.636 3.953 5.754 3.854 5.854L2.207 7.5L3.854 9.146C3.953 9.246 4.003 9.364 4.003 9.5C4.003 9.636 3.953 9.754 3.854 9.854C3.756 9.951 3.638 10 3.5 10C3.362 10 3.244 9.951 3.146 9.854L1.146 7.854C1.049 7.756 1 7.638 1 7.5C1 7.362 1.049 7.244 1.146 7.146L3.146 5.146C3.244 5.049 3.362 5 3.5 5ZM9.586 7.5C9.586 7.776 9.488 8.012 9.293 8.207L8.207 9.293C8.012 9.488 7.776 9.586 7.5 9.586C7.224 9.586 6.988 9.488 6.793 9.293L5.707 8.207C5.512 8.012 5.414 7.776 5.414 7.5C5.414 7.224 5.512 6.988 5.707 6.793L6.793 5.707C6.988 5.512 7.224 5.414 7.5 5.414C7.776 5.414 8.012 5.512 8.207 5.707L9.293 6.793C9.488 6.988 9.586 7.224 9.586 7.5ZM11.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 16ZM6.014 11.664C6.084 12.086 6.414 12.416 6.836 12.486C6.988 12.512 7.134 12.539 7.274 12.567L7.5 12.793C7.567 12.73 7.641 12.688 7.723 12.667C7.893 12.71 8.051 12.754 8.198 12.802L8.198 12.802C8.298 12.902 8.347 13.02 8.347 13.156C8.347 13.292 8.298 13.409 8.198 13.509L7.854 13.854C7.754 13.953 7.636 14.003 7.5 14.003C7.364 14.003 7.246 13.953 7.146 13.854L5.146 11.854C5.047 11.754 4.997 11.636 4.997 11.5C4.997 11.364 5.047 11.246 5.146 11.146C5.244 11.049 5.362 11 5.5 11C5.638 11 5.756 11.049 5.854 11.146L6.018 11.311C5.996 11.428 5.994 11.547 6.014 11.664Z'/%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='M7.5 1C7.638 1 7.756 1.049 7.854 1.146L9.854 3.146C9.951 3.244 10 3.362 10 3.5C10 3.638 9.951 3.756 9.854 3.854C9.754 3.953 9.636 4.003 9.5 4.003C9.364 4.003 9.246 3.953 9.146 3.854L7.5 2.207L5.854 3.854C5.754 3.953 5.636 4.003 5.5 4.003C5.364 4.003 5.246 3.953 5.146 3.854C5.049 3.756 5 3.638 5 3.5C5 3.362 5.049 3.244 5.146 3.146L7.146 1.146C7.244 1.049 7.362 1 7.5 1ZM13.509 8.198C13.41 8.298 13.292 8.347 13.156 8.347C13.02 8.347 12.902 8.298 12.802 8.198L12.802 8.198C12.755 8.053 12.71 7.896 12.668 7.728C12.688 7.643 12.729 7.567 12.793 7.5L12.567 7.274C12.539 7.134 12.512 6.988 12.486 6.836C12.396 6.291 11.88 5.923 11.336 6.014C11.327 6.015 11.319 6.016 11.311 6.018L11.146 5.854C11.049 5.756 11 5.638 11 5.5C11 5.362 11.049 5.244 11.146 5.146C11.246 5.047 11.364 4.997 11.5 4.997C11.636 4.997 11.754 5.047 11.854 5.146L13.854 7.146C13.953 7.246 14.003 7.364 14.003 7.5C14.003 7.636 13.953 7.754 13.854 7.854L13.509 8.198ZM3.5 5C3.638 5 3.756 5.049 3.854 5.146C3.953 5.246 4.003 5.364 4.003 5.5C4.003 5.636 3.953 5.754 3.854 5.854L2.207 7.5L3.854 9.146C3.953 9.246 4.003 9.364 4.003 9.5C4.003 9.636 3.953 9.754 3.854 9.854C3.756 9.951 3.638 10 3.5 10C3.362 10 3.244 9.951 3.146 9.854L1.146 7.854C1.049 7.756 1 7.638 1 7.5C1 7.362 1.049 7.244 1.146 7.146L3.146 5.146C3.244 5.049 3.362 5 3.5 5ZM9.586 7.5C9.586 7.776 9.488 8.012 9.293 8.207L8.207 9.293C8.012 9.488 7.776 9.586 7.5 9.586C7.224 9.586 6.988 9.488 6.793 9.293L5.707 8.207C5.512 8.012 5.414 7.776 5.414 7.5C5.414 7.224 5.512 6.988 5.707 6.793L6.793 5.707C6.988 5.512 7.224 5.414 7.5 5.414C7.776 5.414 8.012 5.512 8.207 5.707L9.293 6.793C9.488 6.988 9.586 7.224 9.586 7.5ZM11.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 16ZM6.014 11.664C6.084 12.086 6.414 12.416 6.836 12.486C6.988 12.512 7.134 12.539 7.274 12.567L7.5 12.793C7.567 12.73 7.641 12.688 7.723 12.667C7.893 12.71 8.051 12.754 8.198 12.802L8.198 12.802C8.298 12.902 8.347 13.02 8.347 13.156C8.347 13.292 8.298 13.409 8.198 13.509L7.854 13.854C7.754 13.953 7.636 14.003 7.5 14.003C7.364 14.003 7.246 13.953 7.146 13.854L5.146 11.854C5.047 11.754 4.997 11.636 4.997 11.5C4.997 11.364 5.047 11.246 5.146 11.146C5.244 11.049 5.362 11 5.5 11C5.638 11 5.756 11.049 5.854 11.146L6.018 11.311C5.996 11.428 5.994 11.547 6.014 11.664Z'/%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='M7.5 1C7.638 1 7.756 1.049 7.854 1.146L9.854 3.146C9.951 3.244 10 3.362 10 3.5C10 3.638 9.951 3.756 9.854 3.854C9.754 3.953 9.636 4.003 9.5 4.003C9.364 4.003 9.246 3.953 9.146 3.854L7.5 2.207L5.854 3.854C5.754 3.953 5.636 4.003 5.5 4.003C5.364 4.003 5.246 3.953 5.146 3.854C5.049 3.756 5 3.638 5 3.5C5 3.362 5.049 3.244 5.146 3.146L7.146 1.146C7.244 1.049 7.362 1 7.5 1ZM13.509 8.198C13.41 8.298 13.292 8.347 13.156 8.347C13.02 8.347 12.902 8.298 12.802 8.198L12.802 8.198C12.755 8.053 12.71 7.896 12.668 7.728C12.688 7.643 12.729 7.567 12.793 7.5L12.567 7.274C12.539 7.134 12.512 6.988 12.486 6.836C12.396 6.291 11.88 5.923 11.336 6.014C11.327 6.015 11.319 6.016 11.311 6.018L11.146 5.854C11.049 5.756 11 5.638 11 5.5C11 5.362 11.049 5.244 11.146 5.146C11.246 5.047 11.364 4.997 11.5 4.997C11.636 4.997 11.754 5.047 11.854 5.146L13.854 7.146C13.953 7.246 14.003 7.364 14.003 7.5C14.003 7.636 13.953 7.754 13.854 7.854L13.509 8.198ZM3.5 5C3.638 5 3.756 5.049 3.854 5.146C3.953 5.246 4.003 5.364 4.003 5.5C4.003 5.636 3.953 5.754 3.854 5.854L2.207 7.5L3.854 9.146C3.953 9.246 4.003 9.364 4.003 9.5C4.003 9.636 3.953 9.754 3.854 9.854C3.756 9.951 3.638 10 3.5 10C3.362 10 3.244 9.951 3.146 9.854L1.146 7.854C1.049 7.756 1 7.638 1 7.5C1 7.362 1.049 7.244 1.146 7.146L3.146 5.146C3.244 5.049 3.362 5 3.5 5ZM9.586 7.5C9.586 7.776 9.488 8.012 9.293 8.207L8.207 9.293C8.012 9.488 7.776 9.586 7.5 9.586C7.224 9.586 6.988 9.488 6.793 9.293L5.707 8.207C5.512 8.012 5.414 7.776 5.414 7.5C5.414 7.224 5.512 6.988 5.707 6.793L6.793 5.707C6.988 5.512 7.224 5.414 7.5 5.414C7.776 5.414 8.012 5.512 8.207 5.707L9.293 6.793C9.488 6.988 9.586 7.224 9.586 7.5ZM11.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 16ZM6.014 11.664C6.084 12.086 6.414 12.416 6.836 12.486C6.988 12.512 7.134 12.539 7.274 12.567L7.5 12.793C7.567 12.73 7.641 12.688 7.723 12.667C7.893 12.71 8.051 12.754 8.198 12.802L8.198 12.802C8.298 12.902 8.347 13.02 8.347 13.156C8.347 13.292 8.298 13.409 8.198 13.509L7.854 13.854C7.754 13.953 7.636 14.003 7.5 14.003C7.364 14.003 7.246 13.953 7.146 13.854L5.146 11.854C5.047 11.754 4.997 11.636 4.997 11.5C4.997 11.364 5.047 11.246 5.146 11.146C5.244 11.049 5.362 11 5.5 11C5.638 11 5.756 11.049 5.854 11.146L6.018 11.311C5.996 11.428 5.994 11.547 6.014 11.664Z'/%3E%3C/svg%3E
```

### Sprite

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

### SwiftUI

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

struct ApiSparkleIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 7.5, y: 1))
        p.addCurve(to: CGPoint(x: 7.854, y: 1.146), control1: CGPoint(x: 7.638, y: 1), control2: CGPoint(x: 7.756, y: 1.049))
        p.addLine(to: CGPoint(x: 9.854, y: 3.146))
        p.addCurve(to: CGPoint(x: 10, y: 3.5), control1: CGPoint(x: 9.951, y: 3.244), control2: CGPoint(x: 10, y: 3.362))
        p.addCurve(to: CGPoint(x: 9.854, y: 3.854), control1: CGPoint(x: 10, y: 3.638), control2: CGPoint(x: 9.951, y: 3.756))
        p.addCurve(to: CGPoint(x: 9.5, y: 4.003), control1: CGPoint(x: 9.754, y: 3.953), control2: CGPoint(x: 9.636, y: 4.003))
        p.addCurve(to: CGPoint(x: 9.146, y: 3.854), control1: CGPoint(x: 9.364, y: 4.003), control2: CGPoint(x: 9.246, y: 3.953))
        p.addLine(to: CGPoint(x: 7.5, y: 2.207))
        p.addLine(to: CGPoint(x: 5.854, y: 3.854))
        p.addCurve(to: CGPoint(x: 5.5, y: 4.003), control1: CGPoint(x: 5.754, y: 3.953), control2: CGPoint(x: 5.636, y: 4.003))
        p.addCurve(to: CGPoint(x: 5.146, y: 3.854), control1: CGPoint(x: 5.364, y: 4.003), control2: CGPoint(x: 5.246, y: 3.953))
        p.addCurve(to: CGPoint(x: 5, y: 3.5), control1: CGPoint(x: 5.049, y: 3.756), control2: CGPoint(x: 5, y: 3.638))
        p.addCurve(to: CGPoint(x: 5.146, y: 3.146), control1: CGPoint(x: 5, y: 3.362), control2: CGPoint(x: 5.049, y: 3.244))
        p.addLine(to: CGPoint(x: 7.146, y: 1.146))
        p.addCurve(to: CGPoint(x: 7.5, y: 1), control1: CGPoint(x: 7.244, y: 1.049), control2: CGPoint(x: 7.362, y: 1))
        p.closeSubpath()
        p.move(to: CGPoint(x: 13.509, y: 8.198))
        p.addCurve(to: CGPoint(x: 13.156, y: 8.347), control1: CGPoint(x: 13.41, y: 8.298), control2: CGPoint(x: 13.292, y: 8.347))
        p.addCurve(to: CGPoint(x: 12.802, y: 8.198), control1: CGPoint(x: 13.02, y: 8.347), control2: CGPoint(x: 12.902, y: 8.298))
        p.addLine(to: CGPoint(x: 12.802, y: 8.198))
        p.addCurve(to: CGPoint(x: 12.668, y: 7.728), control1: CGPoint(x: 12.755, y: 8.053), control2: CGPoint(x: 12.71, y: 7.896))
        p.addCurve(to: CGPoint(x: 12.793, y: 7.5), control1: CGPoint(x: 12.688, y: 7.643), control2: CGPoint(x: 12.729, y: 7.567))
        p.addLine(to: CGPoint(x: 12.567, y: 7.274))
        p.addCurve(to: CGPoint(x: 12.486, y: 6.836), control1: CGPoint(x: 12.539, y: 7.134), control2: CGPoint(x: 12.512, y: 6.988))
        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: 11.311, y: 6.018), control1: CGPoint(x: 11.327, y: 6.015), control2: CGPoint(x: 11.319, y: 6.016))
        p.addLine(to: CGPoint(x: 11.146, y: 5.854))
        p.addCurve(to: CGPoint(x: 11, y: 5.5), control1: CGPoint(x: 11.049, y: 5.756), control2: CGPoint(x: 11, y: 5.638))
        p.addCurve(to: CGPoint(x: 11.146, y: 5.146), control1: CGPoint(x: 11, y: 5.362), control2: CGPoint(x: 11.049, y: 5.244))
        p.addCurve(to: CGPoint(x: 11.5, y: 4.997), control1: CGPoint(x: 11.246, y: 5.047), control2: CGPoint(x: 11.364, y: 4.997))
        p.addCurve(to: CGPoint(x: 11.854, y: 5.146), control1: CGPoint(x: 11.636, y: 4.997), control2: CGPoint(x: 11.754, y: 5.047))
        p.addLine(to: CGPoint(x: 13.854, y: 7.146))
        p.addCurve(to: CGPoint(x: 14.003, y: 7.5), control1: CGPoint(x: 13.953, y: 7.246), control2: CGPoint(x: 14.003, y: 7.364))
        p.addCurve(to: CGPoint(x: 13.854, y: 7.854), control1: CGPoint(x: 14.003, y: 7.636), control2: CGPoint(x: 13.953, y: 7.754))
        p.addLine(to: CGPoint(x: 13.509, y: 8.198))
        p.closeSubpath()
        p.move(to: CGPoint(x: 3.5, y: 5))
        p.addCurve(to: CGPoint(x: 3.854, y: 5.146), control1: CGPoint(x: 3.638, y: 5), control2: CGPoint(x: 3.756, y: 5.049))
        p.addCurve(to: CGPoint(x: 4.003, y: 5.5), control1: CGPoint(x: 3.953, y: 5.246), control2: CGPoint(x: 4.003, y: 5.364))
        p.addCurve(to: CGPoint(x: 3.854, y: 5.854), control1: CGPoint(x: 4.003, y: 5.636), control2: CGPoint(x: 3.953, y: 5.754))
        p.addLine(to: CGPoint(x: 2.207, y: 7.5))
        p.addLine(to: CGPoint(x: 3.854, y: 9.146))
        p.addCurve(to: CGPoint(x: 4.003, y: 9.5), control1: CGPoint(x: 3.953, y: 9.246), control2: CGPoint(x: 4.003, y: 9.364))
        p.addCurve(to: CGPoint(x: 3.854, y: 9.854), control1: CGPoint(x: 4.003, y: 9.636), control2: CGPoint(x: 3.953, y: 9.754))
        p.addCurve(to: CGPoint(x: 3.5, y: 10), control1: CGPoint(x: 3.756, y: 9.951), control2: CGPoint(x: 3.638, y: 10))
        p.addCurve(to: CGPoint(x: 3.146, y: 9.854), control1: CGPoint(x: 3.362, y: 10), control2: CGPoint(x: 3.244, y: 9.951))
        p.addLine(to: CGPoint(x: 1.146, y: 7.854))
        p.addCurve(to: CGPoint(x: 1, y: 7.5), control1: CGPoint(x: 1.049, y: 7.756), control2: CGPoint(x: 1, y: 7.638))
        p.addCurve(to: CGPoint(x: 1.146, y: 7.146), control1: CGPoint(x: 1, y: 7.362), control2: CGPoint(x: 1.049, y: 7.244))
        p.addLine(to: CGPoint(x: 3.146, y: 5.146))
        p.addCurve(to: CGPoint(x: 3.5, y: 5), control1: CGPoint(x: 3.244, y: 5.049), control2: CGPoint(x: 3.362, y: 5))
        p.closeSubpath()
        p.move(to: CGPoint(x: 9.586, y: 7.5))
        p.addCurve(to: CGPoint(x: 9.293, y: 8.207), control1: CGPoint(x: 9.586, y: 7.776), control2: CGPoint(x: 9.488, y: 8.012))
        p.addLine(to: CGPoint(x: 8.207, y: 9.293))
        p.addCurve(to: CGPoint(x: 7.5, y: 9.586), control1: CGPoint(x: 8.012, y: 9.488), control2: CGPoint(x: 7.776, y: 9.586))
        p.addCurve(to: CGPoint(x: 6.793, y: 9.293), control1: CGPoint(x: 7.224, y: 9.586), control2: CGPoint(x: 6.988, y: 9.488))
        p.addLine(to: CGPoint(x: 5.707, y: 8.207))
        p.addCurve(to: CGPoint(x: 5.414, y: 7.5), control1: CGPoint(x: 5.512, y: 8.012), control2: CGPoint(x: 5.414, y: 7.776))
        p.addCurve(to: CGPoint(x: 5.707, y: 6.793), control1: CGPoint(x: 5.414, y: 7.224), control2: CGPoint(x: 5.512, y: 6.988))
        p.addLine(to: CGPoint(x: 6.793, y: 5.707))
        p.addCurve(to: CGPoint(x: 7.5, y: 5.414), control1: CGPoint(x: 6.988, y: 5.512), control2: CGPoint(x: 7.224, y: 5.414))
        p.addCurve(to: CGPoint(x: 8.207, y: 5.707), control1: CGPoint(x: 7.776, y: 5.414), control2: CGPoint(x: 8.012, y: 5.512))
        p.addLine(to: CGPoint(x: 9.293, y: 6.793))
        p.addCurve(to: CGPoint(x: 9.586, y: 7.5), control1: CGPoint(x: 9.488, y: 6.988), control2: CGPoint(x: 9.586, y: 7.224))
        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: 6.014, y: 11.664))
        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.274, y: 12.567), control1: CGPoint(x: 6.988, y: 12.512), control2: CGPoint(x: 7.134, y: 12.539))
        p.addLine(to: CGPoint(x: 7.5, y: 12.793))
        p.addCurve(to: CGPoint(x: 7.723, y: 12.667), control1: CGPoint(x: 7.567, y: 12.73), control2: CGPoint(x: 7.641, y: 12.688))
        p.addCurve(to: CGPoint(x: 8.198, y: 12.802), control1: CGPoint(x: 7.893, y: 12.71), control2: CGPoint(x: 8.051, y: 12.754))
        p.addLine(to: CGPoint(x: 8.198, y: 12.802))
        p.addCurve(to: CGPoint(x: 8.347, y: 13.156), control1: CGPoint(x: 8.298, y: 12.902), control2: CGPoint(x: 8.347, y: 13.02))
        p.addCurve(to: CGPoint(x: 8.198, y: 13.509), control1: CGPoint(x: 8.347, y: 13.292), control2: CGPoint(x: 8.298, y: 13.409))
        p.addLine(to: CGPoint(x: 7.854, y: 13.854))
        p.addCurve(to: CGPoint(x: 7.5, y: 14.003), control1: CGPoint(x: 7.754, y: 13.953), control2: CGPoint(x: 7.636, y: 14.003))
        p.addCurve(to: CGPoint(x: 7.146, y: 13.854), control1: CGPoint(x: 7.364, y: 14.003), control2: CGPoint(x: 7.246, y: 13.953))
        p.addLine(to: CGPoint(x: 5.146, y: 11.854))
        p.addCurve(to: CGPoint(x: 4.997, y: 11.5), control1: CGPoint(x: 5.047, y: 11.754), control2: CGPoint(x: 4.997, y: 11.636))
        p.addCurve(to: CGPoint(x: 5.146, y: 11.146), control1: CGPoint(x: 4.997, y: 11.364), control2: CGPoint(x: 5.047, y: 11.246))
        p.addCurve(to: CGPoint(x: 5.5, y: 11), control1: CGPoint(x: 5.244, y: 11.049), control2: CGPoint(x: 5.362, y: 11))
        p.addCurve(to: CGPoint(x: 5.854, y: 11.146), control1: CGPoint(x: 5.638, y: 11), control2: CGPoint(x: 5.756, y: 11.049))
        p.addLine(to: CGPoint(x: 6.018, y: 11.311))
        p.addCurve(to: CGPoint(x: 6.014, y: 11.664), control1: CGPoint(x: 5.996, y: 11.428), control2: CGPoint(x: 5.994, y: 11.547))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

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

### Compose

```kotlin
// Gentleface "api-sparkle" (line-round), MIT. https://gentleface.com/icons/api-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 ApiSparkleIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "api-sparkle", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M7.5 1C7.638 1 7.756 1.049 7.854 1.146L9.854 3.146C9.951 3.244 10 3.362 10 3.5C10 3.638 9.951 3.756 9.854 3.854C9.754 3.953 9.636 4.003 9.5 4.003C9.364 4.003 9.246 3.953 9.146 3.854L7.5 2.207L5.854 3.854C5.754 3.953 5.636 4.003 5.5 4.003C5.364 4.003 5.246 3.953 5.146 3.854C5.049 3.756 5 3.638 5 3.5C5 3.362 5.049 3.244 5.146 3.146L7.146 1.146C7.244 1.049 7.362 1 7.5 1ZM13.509 8.198C13.41 8.298 13.292 8.347 13.156 8.347C13.02 8.347 12.902 8.298 12.802 8.198L12.802 8.198C12.755 8.053 12.71 7.896 12.668 7.728C12.688 7.643 12.729 7.567 12.793 7.5L12.567 7.274C12.539 7.134 12.512 6.988 12.486 6.836C12.396 6.291 11.88 5.923 11.336 6.014C11.327 6.015 11.319 6.016 11.311 6.018L11.146 5.854C11.049 5.756 11 5.638 11 5.5C11 5.362 11.049 5.244 11.146 5.146C11.246 5.047 11.364 4.997 11.5 4.997C11.636 4.997 11.754 5.047 11.854 5.146L13.854 7.146C13.953 7.246 14.003 7.364 14.003 7.5C14.003 7.636 13.953 7.754 13.854 7.854L13.509 8.198ZM3.5 5C3.638 5 3.756 5.049 3.854 5.146C3.953 5.246 4.003 5.364 4.003 5.5C4.003 5.636 3.953 5.754 3.854 5.854L2.207 7.5L3.854 9.146C3.953 9.246 4.003 9.364 4.003 9.5C4.003 9.636 3.953 9.754 3.854 9.854C3.756 9.951 3.638 10 3.5 10C3.362 10 3.244 9.951 3.146 9.854L1.146 7.854C1.049 7.756 1 7.638 1 7.5C1 7.362 1.049 7.244 1.146 7.146L3.146 5.146C3.244 5.049 3.362 5 3.5 5ZM9.586 7.5C9.586 7.776 9.488 8.012 9.293 8.207L8.207 9.293C8.012 9.488 7.776 9.586 7.5 9.586C7.224 9.586 6.988 9.488 6.793 9.293L5.707 8.207C5.512 8.012 5.414 7.776 5.414 7.5C5.414 7.224 5.512 6.988 5.707 6.793L6.793 5.707C6.988 5.512 7.224 5.414 7.5 5.414C7.776 5.414 8.012 5.512 8.207 5.707L9.293 6.793C9.488 6.988 9.586 7.224 9.586 7.5ZM11.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 16ZM6.014 11.664C6.084 12.086 6.414 12.416 6.836 12.486C6.988 12.512 7.134 12.539 7.274 12.567L7.5 12.793C7.567 12.73 7.641 12.688 7.723 12.667C7.893 12.71 8.051 12.754 8.198 12.802L8.198 12.802C8.298 12.902 8.347 13.02 8.347 13.156C8.347 13.292 8.298 13.409 8.198 13.509L7.854 13.854C7.754 13.953 7.636 14.003 7.5 14.003C7.364 14.003 7.246 13.953 7.146 13.854L5.146 11.854C5.047 11.754 4.997 11.636 4.997 11.5C4.997 11.364 5.047 11.246 5.146 11.146C5.244 11.049 5.362 11 5.5 11C5.638 11 5.756 11.049 5.854 11.146L6.018 11.311C5.996 11.428 5.994 11.547 6.014 11.664Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

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

### Android XML

```xml
<!-- res/drawable/ic_api_sparkle.xml · Gentleface "api-sparkle" (line-round), MIT. https://gentleface.com/icons/api-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="M7.5 1C7.638 1 7.756 1.049 7.854 1.146L9.854 3.146C9.951 3.244 10 3.362 10 3.5C10 3.638 9.951 3.756 9.854 3.854C9.754 3.953 9.636 4.003 9.5 4.003C9.364 4.003 9.246 3.953 9.146 3.854L7.5 2.207L5.854 3.854C5.754 3.953 5.636 4.003 5.5 4.003C5.364 4.003 5.246 3.953 5.146 3.854C5.049 3.756 5 3.638 5 3.5C5 3.362 5.049 3.244 5.146 3.146L7.146 1.146C7.244 1.049 7.362 1 7.5 1ZM13.509 8.198C13.41 8.298 13.292 8.347 13.156 8.347C13.02 8.347 12.902 8.298 12.802 8.198L12.802 8.198C12.755 8.053 12.71 7.896 12.668 7.728C12.688 7.643 12.729 7.567 12.793 7.5L12.567 7.274C12.539 7.134 12.512 6.988 12.486 6.836C12.396 6.291 11.88 5.923 11.336 6.014C11.327 6.015 11.319 6.016 11.311 6.018L11.146 5.854C11.049 5.756 11 5.638 11 5.5C11 5.362 11.049 5.244 11.146 5.146C11.246 5.047 11.364 4.997 11.5 4.997C11.636 4.997 11.754 5.047 11.854 5.146L13.854 7.146C13.953 7.246 14.003 7.364 14.003 7.5C14.003 7.636 13.953 7.754 13.854 7.854L13.509 8.198ZM3.5 5C3.638 5 3.756 5.049 3.854 5.146C3.953 5.246 4.003 5.364 4.003 5.5C4.003 5.636 3.953 5.754 3.854 5.854L2.207 7.5L3.854 9.146C3.953 9.246 4.003 9.364 4.003 9.5C4.003 9.636 3.953 9.754 3.854 9.854C3.756 9.951 3.638 10 3.5 10C3.362 10 3.244 9.951 3.146 9.854L1.146 7.854C1.049 7.756 1 7.638 1 7.5C1 7.362 1.049 7.244 1.146 7.146L3.146 5.146C3.244 5.049 3.362 5 3.5 5ZM9.586 7.5C9.586 7.776 9.488 8.012 9.293 8.207L8.207 9.293C8.012 9.488 7.776 9.586 7.5 9.586C7.224 9.586 6.988 9.488 6.793 9.293L5.707 8.207C5.512 8.012 5.414 7.776 5.414 7.5C5.414 7.224 5.512 6.988 5.707 6.793L6.793 5.707C6.988 5.512 7.224 5.414 7.5 5.414C7.776 5.414 8.012 5.512 8.207 5.707L9.293 6.793C9.488 6.988 9.586 7.224 9.586 7.5ZM11.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 16ZM6.014 11.664C6.084 12.086 6.414 12.416 6.836 12.486C6.988 12.512 7.134 12.539 7.274 12.567L7.5 12.793C7.567 12.73 7.641 12.688 7.723 12.667C7.893 12.71 8.051 12.754 8.198 12.802L8.198 12.802C8.298 12.902 8.347 13.02 8.347 13.156C8.347 13.292 8.298 13.409 8.198 13.509L7.854 13.854C7.754 13.953 7.636 14.003 7.5 14.003C7.364 14.003 7.246 13.953 7.146 13.854L5.146 11.854C5.047 11.754 4.997 11.636 4.997 11.5C4.997 11.364 5.047 11.246 5.146 11.146C5.244 11.049 5.362 11 5.5 11C5.638 11 5.756 11.049 5.854 11.146L6.018 11.311C5.996 11.428 5.994 11.547 6.014 11.664Z"/>
</vector>
```

### Flutter

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

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

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

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

  @override
  void paint(Canvas canvas, Size size) {
    canvas.scale(size.width / 16, size.height / 16);
    final p = Path()
      ..moveTo(7.5, 1)
      ..cubicTo(7.638, 1, 7.756, 1.049, 7.854, 1.146)
      ..lineTo(9.854, 3.146)
      ..cubicTo(9.951, 3.244, 10, 3.362, 10, 3.5)
      ..cubicTo(10, 3.638, 9.951, 3.756, 9.854, 3.854)
      ..cubicTo(9.754, 3.953, 9.636, 4.003, 9.5, 4.003)
      ..cubicTo(9.364, 4.003, 9.246, 3.953, 9.146, 3.854)
      ..lineTo(7.5, 2.207)
      ..lineTo(5.854, 3.854)
      ..cubicTo(5.754, 3.953, 5.636, 4.003, 5.5, 4.003)
      ..cubicTo(5.364, 4.003, 5.246, 3.953, 5.146, 3.854)
      ..cubicTo(5.049, 3.756, 5, 3.638, 5, 3.5)
      ..cubicTo(5, 3.362, 5.049, 3.244, 5.146, 3.146)
      ..lineTo(7.146, 1.146)
      ..cubicTo(7.244, 1.049, 7.362, 1, 7.5, 1)
      ..close()
      ..moveTo(13.509, 8.198)
      ..cubicTo(13.41, 8.298, 13.292, 8.347, 13.156, 8.347)
      ..cubicTo(13.02, 8.347, 12.902, 8.298, 12.802, 8.198)
      ..lineTo(12.802, 8.198)
      ..cubicTo(12.755, 8.053, 12.71, 7.896, 12.668, 7.728)
      ..cubicTo(12.688, 7.643, 12.729, 7.567, 12.793, 7.5)
      ..lineTo(12.567, 7.274)
      ..cubicTo(12.539, 7.134, 12.512, 6.988, 12.486, 6.836)
      ..cubicTo(12.396, 6.291, 11.88, 5.923, 11.336, 6.014)
      ..cubicTo(11.327, 6.015, 11.319, 6.016, 11.311, 6.018)
      ..lineTo(11.146, 5.854)
      ..cubicTo(11.049, 5.756, 11, 5.638, 11, 5.5)
      ..cubicTo(11, 5.362, 11.049, 5.244, 11.146, 5.146)
      ..cubicTo(11.246, 5.047, 11.364, 4.997, 11.5, 4.997)
      ..cubicTo(11.636, 4.997, 11.754, 5.047, 11.854, 5.146)
      ..lineTo(13.854, 7.146)
      ..cubicTo(13.953, 7.246, 14.003, 7.364, 14.003, 7.5)
      ..cubicTo(14.003, 7.636, 13.953, 7.754, 13.854, 7.854)
      ..lineTo(13.509, 8.198)
      ..close()
      ..moveTo(3.5, 5)
      ..cubicTo(3.638, 5, 3.756, 5.049, 3.854, 5.146)
      ..cubicTo(3.953, 5.246, 4.003, 5.364, 4.003, 5.5)
      ..cubicTo(4.003, 5.636, 3.953, 5.754, 3.854, 5.854)
      ..lineTo(2.207, 7.5)
      ..lineTo(3.854, 9.146)
      ..cubicTo(3.953, 9.246, 4.003, 9.364, 4.003, 9.5)
      ..cubicTo(4.003, 9.636, 3.953, 9.754, 3.854, 9.854)
      ..cubicTo(3.756, 9.951, 3.638, 10, 3.5, 10)
      ..cubicTo(3.362, 10, 3.244, 9.951, 3.146, 9.854)
      ..lineTo(1.146, 7.854)
      ..cubicTo(1.049, 7.756, 1, 7.638, 1, 7.5)
      ..cubicTo(1, 7.362, 1.049, 7.244, 1.146, 7.146)
      ..lineTo(3.146, 5.146)
      ..cubicTo(3.244, 5.049, 3.362, 5, 3.5, 5)
      ..close()
      ..moveTo(9.586, 7.5)
      ..cubicTo(9.586, 7.776, 9.488, 8.012, 9.293, 8.207)
      ..lineTo(8.207, 9.293)
      ..cubicTo(8.012, 9.488, 7.776, 9.586, 7.5, 9.586)
      ..cubicTo(7.224, 9.586, 6.988, 9.488, 6.793, 9.293)
      ..lineTo(5.707, 8.207)
      ..cubicTo(5.512, 8.012, 5.414, 7.776, 5.414, 7.5)
      ..cubicTo(5.414, 7.224, 5.512, 6.988, 5.707, 6.793)
      ..lineTo(6.793, 5.707)
      ..cubicTo(6.988, 5.512, 7.224, 5.414, 7.5, 5.414)
      ..cubicTo(7.776, 5.414, 8.012, 5.512, 8.207, 5.707)
      ..lineTo(9.293, 6.793)
      ..cubicTo(9.488, 6.988, 9.586, 7.224, 9.586, 7.5)
      ..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(6.014, 11.664)
      ..cubicTo(6.084, 12.086, 6.414, 12.416, 6.836, 12.486)
      ..cubicTo(6.988, 12.512, 7.134, 12.539, 7.274, 12.567)
      ..lineTo(7.5, 12.793)
      ..cubicTo(7.567, 12.73, 7.641, 12.688, 7.723, 12.667)
      ..cubicTo(7.893, 12.71, 8.051, 12.754, 8.198, 12.802)
      ..lineTo(8.198, 12.802)
      ..cubicTo(8.298, 12.902, 8.347, 13.02, 8.347, 13.156)
      ..cubicTo(8.347, 13.292, 8.298, 13.409, 8.198, 13.509)
      ..lineTo(7.854, 13.854)
      ..cubicTo(7.754, 13.953, 7.636, 14.003, 7.5, 14.003)
      ..cubicTo(7.364, 14.003, 7.246, 13.953, 7.146, 13.854)
      ..lineTo(5.146, 11.854)
      ..cubicTo(5.047, 11.754, 4.997, 11.636, 4.997, 11.5)
      ..cubicTo(4.997, 11.364, 5.047, 11.246, 5.146, 11.146)
      ..cubicTo(5.244, 11.049, 5.362, 11, 5.5, 11)
      ..cubicTo(5.638, 11, 5.756, 11.049, 5.854, 11.146)
      ..lineTo(6.018, 11.311)
      ..cubicTo(5.996, 11.428, 5.994, 11.547, 6.014, 11.664)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

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