# server-sparkle icon

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

- Category: Development
- Use it for: ai server, ai inference, model hosting, inference, model inference
- Example: Deploy a model to an inference endpoint
- Built from: server + sparkle
- Tags: hardware, rack, hosting, backend, infrastructure, datacenter, sparkle
- Family: server, server-alert, server-arrow-down, server-arrow-up, server-check, server-clock, server-cloud, server-gear, server-link, server-off, server-play, server-plus, server-search, server-shield, server-tag, server-user, server-x, servers
- Component name: ServerSparkleIcon
- Added: 2026-11-06
- Since: version 0.4.0
- npm: `import { ServerSparkleIcon } 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/server-sparkle.svg · PNG https://gentleface.com/png/line-round/16/server-sparkle.png · https://gentleface.com/png/line-round/32/server-sparkle.png · https://gentleface.com/png/line-round/48/server-sparkle.png
- line-soft: https://gentleface.com/svg/line-soft/16/server-sparkle.svg · PNG https://gentleface.com/png/line-soft/16/server-sparkle.png · https://gentleface.com/png/line-soft/32/server-sparkle.png · https://gentleface.com/png/line-soft/48/server-sparkle.png
- line-sharp: https://gentleface.com/svg/line-sharp/16/server-sparkle.svg · PNG https://gentleface.com/png/line-sharp/16/server-sparkle.png · https://gentleface.com/png/line-sharp/32/server-sparkle.png · https://gentleface.com/png/line-sharp/48/server-sparkle.png
- solid-round: https://gentleface.com/svg/solid-round/16/server-sparkle.svg · PNG https://gentleface.com/png/solid-round/16/server-sparkle.png · https://gentleface.com/png/solid-round/32/server-sparkle.png · https://gentleface.com/png/solid-round/48/server-sparkle.png
- solid-soft: https://gentleface.com/svg/solid-soft/16/server-sparkle.svg · PNG https://gentleface.com/png/solid-soft/16/server-sparkle.png · https://gentleface.com/png/solid-soft/32/server-sparkle.png · https://gentleface.com/png/solid-soft/48/server-sparkle.png
- solid-sharp: https://gentleface.com/svg/solid-sharp/16/server-sparkle.svg · PNG https://gentleface.com/png/solid-sharp/16/server-sparkle.png · https://gentleface.com/png/solid-sharp/32/server-sparkle.png · https://gentleface.com/png/solid-sharp/48/server-sparkle.png

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

## Animated

`server-sparkle-crunch`: The sparkle twinkles out and the racks close up. The indicator lights stretch into load bars that surge and dip as the server works, the bottom rack a beat behind the top. They drain back into lights and the sparkle twinkles in with the answer.

File: https://gentleface.com/motion/server-sparkle-crunch.svg (line-round, 16 px). Native SVG animation that loops by itself. To play it once, run 0.2 s to 2.15 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"><path d="M11.5 6.5L2 6.5C1.724 6.5 1.5 6.276 1.5 6L1.5 3C1.5 2.724 1.724 2.5 2 2.5L8 2.5L14 2.5C14.276 2.5 14.5 2.724 14.5 3L14.5 6C14.5 6.276 14.276 6.5 14 6.5L11.5 6.5" stroke-dasharray="29.12 35.122" stroke-dashoffset="-2.001"><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.579;0.587;0.596;0.605;0.614;0.623;0.632;0.64;0.649;0.658;0.667;0.676;0.684;0.693;0.702;0.711;0.72;0.729;1" values="29.12 35.122;29.12 35.122;29.12 35.122;29.12 35.122;30.121 35.122;33.122 35.122;33.122 35.122;33.122 35.122;33.122 35.122;33.122 35.122;33.122 35.122;33.122 35.122;33.122 35.122;33.122 35.122;30.121 35.122;30.121 35.122;30.121 35.122;29.122 35.122;30.122 35.122;30.122 35.122;30.122 35.122;30.122 35.122;30.122 35.122;30.121 35.122;30.121 35.122;29.12 35.122;29.12 35.122;29.12 35.122;29.12 35.122"/><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.579;0.587;0.596;0.605;0.614;0.623;0.632;0.64;0.649;0.658;0.667;0.676;0.684;0.693;0.702;0.711;0.72;0.729;1" values="-2.001;-2.001;-2.001;-2.001;-1;0;0;0;0;0;0;0;0;0;-2.001;-1;-1;-1;0;0;0;0;0;-1;-1;-2.001;-2.001;-2.001;-2.001"/></path><path d="M14.5 11.5L14.5 13C14.5 13.276 14.276 13.5 14 13.5L2 13.5C1.724 13.5 1.5 13.276 1.5 13L1.5 10C1.5 9.724 1.724 9.5 2 9.5L8 9.5L14 9.5C14.276 9.5 14.5 9.724 14.5 10L14.5 11.5" stroke-dasharray="0 35.122" stroke-dashoffset="0" visibility="hidden"><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.579;0.587;0.596;0.605;0.614;0.623;0.632;0.64;0.649;0.658;0.667;0.676;0.684;0.693;0.702;0.711;0.72;0.729;1" values="0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;3.78 35.122;5.28 35.122;5.28 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122"/><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.579;0.587;0.596;0.605;0.614;0.623;0.632;0.64;0.649;0.658;0.667;0.676;0.684;0.693;0.702;0.711;0.72;0.729;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.143;0.587" values="hidden;visible;hidden"/></path><path d="M14.5 11.5L14.5 13C14.5 13.276 14.276 13.5 14 13.5L2 13.5C1.724 13.5 1.5 13.276 1.5 13L1.5 10C1.5 9.724 1.724 9.5 2 9.5L8 9.5L14 9.5C14.276 9.5 14.5 9.724 14.5 10L14.5 11.5" stroke-dasharray="17.56 35.122" stroke-dashoffset="-7.781"><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.579;0.587;0.596;0.605;0.614;0.623;0.632;0.64;0.649;0.658;0.667;0.676;0.684;0.693;0.702;0.711;0.72;0.729;1" values="17.56 35.122;17.56 35.122;17.56 35.122;17.56 35.122;17.56 35.122;17.56 35.122;18.56 35.122;20.561 35.122;20.561 35.122;23.561 35.122;23.561 35.122;17.56 35.122;16.56 35.122;18.56 35.122;17.56 35.122;17.56 35.122;17.56 35.122;17.56 35.122;17.56 35.122;16.56 35.122;16.56 35.122;16.56 35.122;17.56 35.122;17.56 35.122;17.56 35.122;17.56 35.122;17.56 35.122;17.56 35.122;17.56 35.122"/><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.579;0.587;0.596;0.605;0.614;0.623;0.632;0.64;0.649;0.658;0.667;0.676;0.684;0.693;0.702;0.711;0.72;0.729;1" values="-7.781;-7.781;-7.781;-7.781;-7.781;-7.781;-7.781;-6.78;-6.78;-5.28;-5.28;-7.781;-8.78;-6.78;-7.781;-7.781;-7.781;-7.781;-7.781;-7.781;-7.781;-7.781;-7.781;-7.781;-7.781;-7.781;-7.781;-7.781;-7.781"/></path><path d="M14.5 11.5L14.5 13C14.5 13.276 14.276 13.5 14 13.5L2 13.5C1.724 13.5 1.5 13.276 1.5 13L1.5 10C1.5 9.724 1.724 9.5 2 9.5L8 9.5L14 9.5C14.276 9.5 14.5 9.724 14.5 10L14.5 11.5" stroke-dasharray="0 35.122" stroke-dashoffset="0" visibility="hidden"><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.579;0.587;0.596;0.605;0.614;0.623;0.632;0.64;0.649;0.658;0.667;0.676;0.684;0.693;0.702;0.711;0.72;0.729;1" values="0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;2.78 35.122;2.78 35.122;4.28 35.122;4.28 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122;0 35.122"/><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.579;0.587;0.596;0.605;0.614;0.623;0.632;0.64;0.649;0.658;0.667;0.676;0.684;0.693;0.702;0.711;0.72;0.729;1" values="0;0;0;0;0;0;0;-30.341;-30.341;-28.841;-28.841;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.134;0.587" values="hidden;visible;hidden"/></path><path d="M3.5 4.5L11.5 4.5" stroke-dasharray="1 10" stroke-dashoffset="0"><animate attributeName="stroke-dasharray" dur="2.8s" repeatCount="indefinite" keyTimes="0;0.161;0.243;0.3;0.364;0.421;0.471;0.554;1" values="1 10;1 10;7 10;4.5 10;8 10;6 10;8 10;1 10;1 10" calcMode="spline" keySplines="0 0 1 1;.15 .75 .25 1;.37 0 .63 1;.37 0 .63 1;.37 0 .63 1;.37 0 .63 1;.6 0 .25 1;0 0 1 1"/><animate attributeName="stroke-dashoffset" dur="2.8s" repeatCount="indefinite" keyTimes="0;0.161;0.243;0.3;0.364;0.421;0.471;0.554;1" values="0;0;0;0;0;0;0;0;0" calcMode="spline" keySplines="0 0 1 1;.15 .75 .25 1;.37 0 .63 1;.37 0 .63 1;.37 0 .63 1;.37 0 .63 1;.6 0 .25 1;0 0 1 1"/></path><path d="M3.5 11.5L11.5 11.5" stroke-dasharray="1 10" stroke-dashoffset="0"><animate attributeName="stroke-dasharray" dur="2.8s" repeatCount="indefinite" keyTimes="0;0.214;0.296;0.35;0.407;0.471;0.564;1" values="1 10;1 10;6 10;8 10;5 10;7.5 10;1 10;1 10" calcMode="spline" keySplines="0 0 1 1;.15 .75 .25 1;.37 0 .63 1;.37 0 .63 1;.37 0 .63 1;.6 0 .25 1;0 0 1 1"/><animate attributeName="stroke-dashoffset" dur="2.8s" repeatCount="indefinite" keyTimes="0;0.214;0.296;0.35;0.407;0.471;0.564;1" values="0;0;0;0;0;0;0;0" calcMode="spline" keySplines="0 0 1 1;.15 .75 .25 1;.37 0 .63 1;.37 0 .63 1;.37 0 .63 1;.6 0 .25 1;0 0 1 1"/></path><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.579;0.65;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.579" values="visible;hidden;visible"/><g><animateTransform attributeName="transform" type="rotate" dur="2.8s" repeatCount="indefinite" keyTimes="0;0.089;0.161;0.579;0.671;0.729;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="M1.293 6.707C1.098 6.512 1 6.276 1 6L1 3C1 2.724 1.098 2.488 1.293 2.293C1.488 2.098 1.724 2 2 2L14 2C14.276 2 14.512 2.098 14.707 2.293C14.902 2.488 15 2.724 15 3L15 6C15 6.276 14.902 6.512 14.707 6.707C14.512 6.902 14.276 7 14 7L13.5 7C13.359 7 13.241 6.952 13.144 6.856C13.048 6.759 13 6.641 13 6.5C13 6.359 13.048 6.241 13.144 6.144C13.241 6.048 13.359 6 13.5 6L14 6L14 3L2 3L2 6L9.5 6C9.641 6 9.759 6.048 9.856 6.144C9.952 6.241 10 6.359 10 6.5C10 6.641 9.952 6.759 9.856 6.856C9.759 6.952 9.641 7 9.5 7L2 7C1.724 7 1.488 6.902 1.293 6.707ZM4.5 4C4.641 4 4.759 4.048 4.856 4.144C4.952 4.241 5 4.359 5 4.5C5 4.641 4.952 4.759 4.856 4.856C4.759 4.952 4.641 5 4.5 5L3.5 5C3.359 5 3.241 4.952 3.144 4.856C3.048 4.759 3 4.641 3 4.5C3 4.359 3.048 4.241 3.144 4.144C3.241 4.048 3.359 4 3.5 4L4.5 4ZM11.5 16C11 13 10 12 7 11.5C10 11 11 10 11.5 7C12 10 13 11 16 11.5C13 12 12 13 11.5 16ZM1.293 9.293C1.488 9.098 1.724 9 2 9L8.5 9C8.641 9 8.759 9.048 8.856 9.144C8.952 9.241 9 9.359 9 9.5C9 9.641 8.952 9.759 8.856 9.856C8.759 9.952 8.641 10 8.5 10L2 10L2 13L8.5 13C8.641 13 8.759 13.048 8.856 13.144C8.952 13.241 9 13.359 9 13.5C9 13.641 8.952 13.759 8.856 13.856C8.759 13.952 8.641 14 8.5 14L2 14C1.724 14 1.488 13.902 1.293 13.707C1.098 13.512 1 13.276 1 13L1 10C1 9.724 1.098 9.488 1.293 9.293ZM4.5 11C4.641 11 4.759 11.048 4.856 11.144C4.952 11.241 5 11.359 5 11.5C5 11.641 4.952 11.759 4.856 11.856C4.759 11.952 4.641 12 4.5 12L3.5 12C3.359 12 3.241 11.952 3.144 11.856C3.048 11.759 3 11.641 3 11.5C3 11.359 3.048 11.241 3.144 11.144C3.241 11.048 3.359 11 3.5 11L4.5 11Z"/></svg>
```

### React

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

export function ServerSparkleIcon(props: SVGProps<SVGSVGElement>) {
  return (
    <svg xmlns="http://www.w3.org/2000/svg" width={16} height={16} viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" {...props}>
      <path d="M1.293 6.707C1.098 6.512 1 6.276 1 6L1 3C1 2.724 1.098 2.488 1.293 2.293C1.488 2.098 1.724 2 2 2L14 2C14.276 2 14.512 2.098 14.707 2.293C14.902 2.488 15 2.724 15 3L15 6C15 6.276 14.902 6.512 14.707 6.707C14.512 6.902 14.276 7 14 7L13.5 7C13.359 7 13.241 6.952 13.144 6.856C13.048 6.759 13 6.641 13 6.5C13 6.359 13.048 6.241 13.144 6.144C13.241 6.048 13.359 6 13.5 6L14 6L14 3L2 3L2 6L9.5 6C9.641 6 9.759 6.048 9.856 6.144C9.952 6.241 10 6.359 10 6.5C10 6.641 9.952 6.759 9.856 6.856C9.759 6.952 9.641 7 9.5 7L2 7C1.724 7 1.488 6.902 1.293 6.707ZM4.5 4C4.641 4 4.759 4.048 4.856 4.144C4.952 4.241 5 4.359 5 4.5C5 4.641 4.952 4.759 4.856 4.856C4.759 4.952 4.641 5 4.5 5L3.5 5C3.359 5 3.241 4.952 3.144 4.856C3.048 4.759 3 4.641 3 4.5C3 4.359 3.048 4.241 3.144 4.144C3.241 4.048 3.359 4 3.5 4L4.5 4ZM11.5 16C11 13 10 12 7 11.5C10 11 11 10 11.5 7C12 10 13 11 16 11.5C13 12 12 13 11.5 16ZM1.293 9.293C1.488 9.098 1.724 9 2 9L8.5 9C8.641 9 8.759 9.048 8.856 9.144C8.952 9.241 9 9.359 9 9.5C9 9.641 8.952 9.759 8.856 9.856C8.759 9.952 8.641 10 8.5 10L2 10L2 13L8.5 13C8.641 13 8.759 13.048 8.856 13.144C8.952 13.241 9 13.359 9 13.5C9 13.641 8.952 13.759 8.856 13.856C8.759 13.952 8.641 14 8.5 14L2 14C1.724 14 1.488 13.902 1.293 13.707C1.098 13.512 1 13.276 1 13L1 10C1 9.724 1.098 9.488 1.293 9.293ZM4.5 11C4.641 11 4.759 11.048 4.856 11.144C4.952 11.241 5 11.359 5 11.5C5 11.641 4.952 11.759 4.856 11.856C4.759 11.952 4.641 12 4.5 12L3.5 12C3.359 12 3.241 11.952 3.144 11.856C3.048 11.759 3 11.641 3 11.5C3 11.359 3.048 11.241 3.144 11.144C3.241 11.048 3.359 11 3.5 11L4.5 11Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "server-sparkle" (line-round), MIT. https://gentleface.com/icons/server-sparkle -->
<template>
  <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true">
    <path d="M1.293 6.707C1.098 6.512 1 6.276 1 6L1 3C1 2.724 1.098 2.488 1.293 2.293C1.488 2.098 1.724 2 2 2L14 2C14.276 2 14.512 2.098 14.707 2.293C14.902 2.488 15 2.724 15 3L15 6C15 6.276 14.902 6.512 14.707 6.707C14.512 6.902 14.276 7 14 7L13.5 7C13.359 7 13.241 6.952 13.144 6.856C13.048 6.759 13 6.641 13 6.5C13 6.359 13.048 6.241 13.144 6.144C13.241 6.048 13.359 6 13.5 6L14 6L14 3L2 3L2 6L9.5 6C9.641 6 9.759 6.048 9.856 6.144C9.952 6.241 10 6.359 10 6.5C10 6.641 9.952 6.759 9.856 6.856C9.759 6.952 9.641 7 9.5 7L2 7C1.724 7 1.488 6.902 1.293 6.707ZM4.5 4C4.641 4 4.759 4.048 4.856 4.144C4.952 4.241 5 4.359 5 4.5C5 4.641 4.952 4.759 4.856 4.856C4.759 4.952 4.641 5 4.5 5L3.5 5C3.359 5 3.241 4.952 3.144 4.856C3.048 4.759 3 4.641 3 4.5C3 4.359 3.048 4.241 3.144 4.144C3.241 4.048 3.359 4 3.5 4L4.5 4ZM11.5 16C11 13 10 12 7 11.5C10 11 11 10 11.5 7C12 10 13 11 16 11.5C13 12 12 13 11.5 16ZM1.293 9.293C1.488 9.098 1.724 9 2 9L8.5 9C8.641 9 8.759 9.048 8.856 9.144C8.952 9.241 9 9.359 9 9.5C9 9.641 8.952 9.759 8.856 9.856C8.759 9.952 8.641 10 8.5 10L2 10L2 13L8.5 13C8.641 13 8.759 13.048 8.856 13.144C8.952 13.241 9 13.359 9 13.5C9 13.641 8.952 13.759 8.856 13.856C8.759 13.952 8.641 14 8.5 14L2 14C1.724 14 1.488 13.902 1.293 13.707C1.098 13.512 1 13.276 1 13L1 10C1 9.724 1.098 9.488 1.293 9.293ZM4.5 11C4.641 11 4.759 11.048 4.856 11.144C4.952 11.241 5 11.359 5 11.5C5 11.641 4.952 11.759 4.856 11.856C4.759 11.952 4.641 12 4.5 12L3.5 12C3.359 12 3.241 11.952 3.144 11.856C3.048 11.759 3 11.641 3 11.5C3 11.359 3.048 11.241 3.144 11.144C3.241 11.048 3.359 11 3.5 11L4.5 11Z" />
  </svg>
</template>
```

### Svelte

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

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" {...props}>
  <path d="M1.293 6.707C1.098 6.512 1 6.276 1 6L1 3C1 2.724 1.098 2.488 1.293 2.293C1.488 2.098 1.724 2 2 2L14 2C14.276 2 14.512 2.098 14.707 2.293C14.902 2.488 15 2.724 15 3L15 6C15 6.276 14.902 6.512 14.707 6.707C14.512 6.902 14.276 7 14 7L13.5 7C13.359 7 13.241 6.952 13.144 6.856C13.048 6.759 13 6.641 13 6.5C13 6.359 13.048 6.241 13.144 6.144C13.241 6.048 13.359 6 13.5 6L14 6L14 3L2 3L2 6L9.5 6C9.641 6 9.759 6.048 9.856 6.144C9.952 6.241 10 6.359 10 6.5C10 6.641 9.952 6.759 9.856 6.856C9.759 6.952 9.641 7 9.5 7L2 7C1.724 7 1.488 6.902 1.293 6.707ZM4.5 4C4.641 4 4.759 4.048 4.856 4.144C4.952 4.241 5 4.359 5 4.5C5 4.641 4.952 4.759 4.856 4.856C4.759 4.952 4.641 5 4.5 5L3.5 5C3.359 5 3.241 4.952 3.144 4.856C3.048 4.759 3 4.641 3 4.5C3 4.359 3.048 4.241 3.144 4.144C3.241 4.048 3.359 4 3.5 4L4.5 4ZM11.5 16C11 13 10 12 7 11.5C10 11 11 10 11.5 7C12 10 13 11 16 11.5C13 12 12 13 11.5 16ZM1.293 9.293C1.488 9.098 1.724 9 2 9L8.5 9C8.641 9 8.759 9.048 8.856 9.144C8.952 9.241 9 9.359 9 9.5C9 9.641 8.952 9.759 8.856 9.856C8.759 9.952 8.641 10 8.5 10L2 10L2 13L8.5 13C8.641 13 8.759 13.048 8.856 13.144C8.952 13.241 9 13.359 9 13.5C9 13.641 8.952 13.759 8.856 13.856C8.759 13.952 8.641 14 8.5 14L2 14C1.724 14 1.488 13.902 1.293 13.707C1.098 13.512 1 13.276 1 13L1 10C1 9.724 1.098 9.488 1.293 9.293ZM4.5 11C4.641 11 4.759 11.048 4.856 11.144C4.952 11.241 5 11.359 5 11.5C5 11.641 4.952 11.759 4.856 11.856C4.759 11.952 4.641 12 4.5 12L3.5 12C3.359 12 3.241 11.952 3.144 11.856C3.048 11.759 3 11.641 3 11.5C3 11.359 3.048 11.241 3.144 11.144C3.241 11.048 3.359 11 3.5 11L4.5 11Z" />
</svg>
```

### HTML img

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

### CSS

```css
/* Gentleface "server-sparkle" (line-round), MIT. https://gentleface.com/icons/server-sparkle. Takes the text color. */
.icon-server-sparkle {
  display: inline-block;
  width: 16px;
  height: 16px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M1.293 6.707C1.098 6.512 1 6.276 1 6L1 3C1 2.724 1.098 2.488 1.293 2.293C1.488 2.098 1.724 2 2 2L14 2C14.276 2 14.512 2.098 14.707 2.293C14.902 2.488 15 2.724 15 3L15 6C15 6.276 14.902 6.512 14.707 6.707C14.512 6.902 14.276 7 14 7L13.5 7C13.359 7 13.241 6.952 13.144 6.856C13.048 6.759 13 6.641 13 6.5C13 6.359 13.048 6.241 13.144 6.144C13.241 6.048 13.359 6 13.5 6L14 6L14 3L2 3L2 6L9.5 6C9.641 6 9.759 6.048 9.856 6.144C9.952 6.241 10 6.359 10 6.5C10 6.641 9.952 6.759 9.856 6.856C9.759 6.952 9.641 7 9.5 7L2 7C1.724 7 1.488 6.902 1.293 6.707ZM4.5 4C4.641 4 4.759 4.048 4.856 4.144C4.952 4.241 5 4.359 5 4.5C5 4.641 4.952 4.759 4.856 4.856C4.759 4.952 4.641 5 4.5 5L3.5 5C3.359 5 3.241 4.952 3.144 4.856C3.048 4.759 3 4.641 3 4.5C3 4.359 3.048 4.241 3.144 4.144C3.241 4.048 3.359 4 3.5 4L4.5 4ZM11.5 16C11 13 10 12 7 11.5C10 11 11 10 11.5 7C12 10 13 11 16 11.5C13 12 12 13 11.5 16ZM1.293 9.293C1.488 9.098 1.724 9 2 9L8.5 9C8.641 9 8.759 9.048 8.856 9.144C8.952 9.241 9 9.359 9 9.5C9 9.641 8.952 9.759 8.856 9.856C8.759 9.952 8.641 10 8.5 10L2 10L2 13L8.5 13C8.641 13 8.759 13.048 8.856 13.144C8.952 13.241 9 13.359 9 13.5C9 13.641 8.952 13.759 8.856 13.856C8.759 13.952 8.641 14 8.5 14L2 14C1.724 14 1.488 13.902 1.293 13.707C1.098 13.512 1 13.276 1 13L1 10C1 9.724 1.098 9.488 1.293 9.293ZM4.5 11C4.641 11 4.759 11.048 4.856 11.144C4.952 11.241 5 11.359 5 11.5C5 11.641 4.952 11.759 4.856 11.856C4.759 11.952 4.641 12 4.5 12L3.5 12C3.359 12 3.241 11.952 3.144 11.856C3.048 11.759 3 11.641 3 11.5C3 11.359 3.048 11.241 3.144 11.144C3.241 11.048 3.359 11 3.5 11L4.5 11Z'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M1.293 6.707C1.098 6.512 1 6.276 1 6L1 3C1 2.724 1.098 2.488 1.293 2.293C1.488 2.098 1.724 2 2 2L14 2C14.276 2 14.512 2.098 14.707 2.293C14.902 2.488 15 2.724 15 3L15 6C15 6.276 14.902 6.512 14.707 6.707C14.512 6.902 14.276 7 14 7L13.5 7C13.359 7 13.241 6.952 13.144 6.856C13.048 6.759 13 6.641 13 6.5C13 6.359 13.048 6.241 13.144 6.144C13.241 6.048 13.359 6 13.5 6L14 6L14 3L2 3L2 6L9.5 6C9.641 6 9.759 6.048 9.856 6.144C9.952 6.241 10 6.359 10 6.5C10 6.641 9.952 6.759 9.856 6.856C9.759 6.952 9.641 7 9.5 7L2 7C1.724 7 1.488 6.902 1.293 6.707ZM4.5 4C4.641 4 4.759 4.048 4.856 4.144C4.952 4.241 5 4.359 5 4.5C5 4.641 4.952 4.759 4.856 4.856C4.759 4.952 4.641 5 4.5 5L3.5 5C3.359 5 3.241 4.952 3.144 4.856C3.048 4.759 3 4.641 3 4.5C3 4.359 3.048 4.241 3.144 4.144C3.241 4.048 3.359 4 3.5 4L4.5 4ZM11.5 16C11 13 10 12 7 11.5C10 11 11 10 11.5 7C12 10 13 11 16 11.5C13 12 12 13 11.5 16ZM1.293 9.293C1.488 9.098 1.724 9 2 9L8.5 9C8.641 9 8.759 9.048 8.856 9.144C8.952 9.241 9 9.359 9 9.5C9 9.641 8.952 9.759 8.856 9.856C8.759 9.952 8.641 10 8.5 10L2 10L2 13L8.5 13C8.641 13 8.759 13.048 8.856 13.144C8.952 13.241 9 13.359 9 13.5C9 13.641 8.952 13.759 8.856 13.856C8.759 13.952 8.641 14 8.5 14L2 14C1.724 14 1.488 13.902 1.293 13.707C1.098 13.512 1 13.276 1 13L1 10C1 9.724 1.098 9.488 1.293 9.293ZM4.5 11C4.641 11 4.759 11.048 4.856 11.144C4.952 11.241 5 11.359 5 11.5C5 11.641 4.952 11.759 4.856 11.856C4.759 11.952 4.641 12 4.5 12L3.5 12C3.359 12 3.241 11.952 3.144 11.856C3.048 11.759 3 11.641 3 11.5C3 11.359 3.048 11.241 3.144 11.144C3.241 11.048 3.359 11 3.5 11L4.5 11Z'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
}
```

### Data URL

```text
data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M1.293 6.707C1.098 6.512 1 6.276 1 6L1 3C1 2.724 1.098 2.488 1.293 2.293C1.488 2.098 1.724 2 2 2L14 2C14.276 2 14.512 2.098 14.707 2.293C14.902 2.488 15 2.724 15 3L15 6C15 6.276 14.902 6.512 14.707 6.707C14.512 6.902 14.276 7 14 7L13.5 7C13.359 7 13.241 6.952 13.144 6.856C13.048 6.759 13 6.641 13 6.5C13 6.359 13.048 6.241 13.144 6.144C13.241 6.048 13.359 6 13.5 6L14 6L14 3L2 3L2 6L9.5 6C9.641 6 9.759 6.048 9.856 6.144C9.952 6.241 10 6.359 10 6.5C10 6.641 9.952 6.759 9.856 6.856C9.759 6.952 9.641 7 9.5 7L2 7C1.724 7 1.488 6.902 1.293 6.707ZM4.5 4C4.641 4 4.759 4.048 4.856 4.144C4.952 4.241 5 4.359 5 4.5C5 4.641 4.952 4.759 4.856 4.856C4.759 4.952 4.641 5 4.5 5L3.5 5C3.359 5 3.241 4.952 3.144 4.856C3.048 4.759 3 4.641 3 4.5C3 4.359 3.048 4.241 3.144 4.144C3.241 4.048 3.359 4 3.5 4L4.5 4ZM11.5 16C11 13 10 12 7 11.5C10 11 11 10 11.5 7C12 10 13 11 16 11.5C13 12 12 13 11.5 16ZM1.293 9.293C1.488 9.098 1.724 9 2 9L8.5 9C8.641 9 8.759 9.048 8.856 9.144C8.952 9.241 9 9.359 9 9.5C9 9.641 8.952 9.759 8.856 9.856C8.759 9.952 8.641 10 8.5 10L2 10L2 13L8.5 13C8.641 13 8.759 13.048 8.856 13.144C8.952 13.241 9 13.359 9 13.5C9 13.641 8.952 13.759 8.856 13.856C8.759 13.952 8.641 14 8.5 14L2 14C1.724 14 1.488 13.902 1.293 13.707C1.098 13.512 1 13.276 1 13L1 10C1 9.724 1.098 9.488 1.293 9.293ZM4.5 11C4.641 11 4.759 11.048 4.856 11.144C4.952 11.241 5 11.359 5 11.5C5 11.641 4.952 11.759 4.856 11.856C4.759 11.952 4.641 12 4.5 12L3.5 12C3.359 12 3.241 11.952 3.144 11.856C3.048 11.759 3 11.641 3 11.5C3 11.359 3.048 11.241 3.144 11.144C3.241 11.048 3.359 11 3.5 11L4.5 11Z'/%3E%3C/svg%3E
```

### Sprite

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

### SwiftUI

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

struct ServerSparkleIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 1.293, y: 6.707))
        p.addCurve(to: CGPoint(x: 1, y: 6), control1: CGPoint(x: 1.098, y: 6.512), control2: CGPoint(x: 1, y: 6.276))
        p.addLine(to: CGPoint(x: 1, y: 3))
        p.addCurve(to: CGPoint(x: 1.293, y: 2.293), control1: CGPoint(x: 1, y: 2.724), control2: CGPoint(x: 1.098, y: 2.488))
        p.addCurve(to: CGPoint(x: 2, y: 2), control1: CGPoint(x: 1.488, y: 2.098), control2: CGPoint(x: 1.724, y: 2))
        p.addLine(to: CGPoint(x: 14, y: 2))
        p.addCurve(to: CGPoint(x: 14.707, y: 2.293), control1: CGPoint(x: 14.276, y: 2), control2: CGPoint(x: 14.512, y: 2.098))
        p.addCurve(to: CGPoint(x: 15, y: 3), control1: CGPoint(x: 14.902, y: 2.488), control2: CGPoint(x: 15, y: 2.724))
        p.addLine(to: CGPoint(x: 15, y: 6))
        p.addCurve(to: CGPoint(x: 14.707, y: 6.707), control1: CGPoint(x: 15, y: 6.276), control2: CGPoint(x: 14.902, y: 6.512))
        p.addCurve(to: CGPoint(x: 14, y: 7), control1: CGPoint(x: 14.512, y: 6.902), control2: CGPoint(x: 14.276, y: 7))
        p.addLine(to: CGPoint(x: 13.5, y: 7))
        p.addCurve(to: CGPoint(x: 13.144, y: 6.856), control1: CGPoint(x: 13.359, y: 7), control2: CGPoint(x: 13.241, y: 6.952))
        p.addCurve(to: CGPoint(x: 13, y: 6.5), control1: CGPoint(x: 13.048, y: 6.759), control2: CGPoint(x: 13, y: 6.641))
        p.addCurve(to: CGPoint(x: 13.144, y: 6.144), control1: CGPoint(x: 13, y: 6.359), control2: CGPoint(x: 13.048, y: 6.241))
        p.addCurve(to: CGPoint(x: 13.5, y: 6), control1: CGPoint(x: 13.241, y: 6.048), control2: CGPoint(x: 13.359, y: 6))
        p.addLine(to: CGPoint(x: 14, y: 6))
        p.addLine(to: CGPoint(x: 14, y: 3))
        p.addLine(to: CGPoint(x: 2, y: 3))
        p.addLine(to: CGPoint(x: 2, y: 6))
        p.addLine(to: CGPoint(x: 9.5, y: 6))
        p.addCurve(to: CGPoint(x: 9.856, y: 6.144), control1: CGPoint(x: 9.641, y: 6), control2: CGPoint(x: 9.759, y: 6.048))
        p.addCurve(to: CGPoint(x: 10, y: 6.5), control1: CGPoint(x: 9.952, y: 6.241), control2: CGPoint(x: 10, y: 6.359))
        p.addCurve(to: CGPoint(x: 9.856, y: 6.856), control1: CGPoint(x: 10, y: 6.641), control2: CGPoint(x: 9.952, y: 6.759))
        p.addCurve(to: CGPoint(x: 9.5, y: 7), control1: CGPoint(x: 9.759, y: 6.952), control2: CGPoint(x: 9.641, y: 7))
        p.addLine(to: CGPoint(x: 2, y: 7))
        p.addCurve(to: CGPoint(x: 1.293, y: 6.707), control1: CGPoint(x: 1.724, y: 7), control2: CGPoint(x: 1.488, y: 6.902))
        p.closeSubpath()
        p.move(to: CGPoint(x: 4.5, y: 4))
        p.addCurve(to: CGPoint(x: 4.856, y: 4.144), control1: CGPoint(x: 4.641, y: 4), control2: CGPoint(x: 4.759, y: 4.048))
        p.addCurve(to: CGPoint(x: 5, y: 4.5), control1: CGPoint(x: 4.952, y: 4.241), control2: CGPoint(x: 5, y: 4.359))
        p.addCurve(to: CGPoint(x: 4.856, y: 4.856), control1: CGPoint(x: 5, y: 4.641), control2: CGPoint(x: 4.952, y: 4.759))
        p.addCurve(to: CGPoint(x: 4.5, y: 5), control1: CGPoint(x: 4.759, y: 4.952), control2: CGPoint(x: 4.641, y: 5))
        p.addLine(to: CGPoint(x: 3.5, y: 5))
        p.addCurve(to: CGPoint(x: 3.144, y: 4.856), control1: CGPoint(x: 3.359, y: 5), control2: CGPoint(x: 3.241, y: 4.952))
        p.addCurve(to: CGPoint(x: 3, y: 4.5), control1: CGPoint(x: 3.048, y: 4.759), control2: CGPoint(x: 3, y: 4.641))
        p.addCurve(to: CGPoint(x: 3.144, y: 4.144), control1: CGPoint(x: 3, y: 4.359), control2: CGPoint(x: 3.048, y: 4.241))
        p.addCurve(to: CGPoint(x: 3.5, y: 4), control1: CGPoint(x: 3.241, y: 4.048), control2: CGPoint(x: 3.359, y: 4))
        p.addLine(to: CGPoint(x: 4.5, y: 4))
        p.closeSubpath()
        p.move(to: CGPoint(x: 11.5, y: 16))
        p.addCurve(to: CGPoint(x: 7, y: 11.5), control1: CGPoint(x: 11, y: 13), control2: CGPoint(x: 10, y: 12))
        p.addCurve(to: CGPoint(x: 11.5, y: 7), control1: CGPoint(x: 10, y: 11), control2: CGPoint(x: 11, y: 10))
        p.addCurve(to: CGPoint(x: 16, y: 11.5), control1: CGPoint(x: 12, y: 10), control2: CGPoint(x: 13, y: 11))
        p.addCurve(to: CGPoint(x: 11.5, y: 16), control1: CGPoint(x: 13, y: 12), control2: CGPoint(x: 12, y: 13))
        p.closeSubpath()
        p.move(to: CGPoint(x: 1.293, y: 9.293))
        p.addCurve(to: CGPoint(x: 2, y: 9), control1: CGPoint(x: 1.488, y: 9.098), control2: CGPoint(x: 1.724, y: 9))
        p.addLine(to: CGPoint(x: 8.5, y: 9))
        p.addCurve(to: CGPoint(x: 8.856, y: 9.144), control1: CGPoint(x: 8.641, y: 9), control2: CGPoint(x: 8.759, y: 9.048))
        p.addCurve(to: CGPoint(x: 9, y: 9.5), control1: CGPoint(x: 8.952, y: 9.241), control2: CGPoint(x: 9, y: 9.359))
        p.addCurve(to: CGPoint(x: 8.856, y: 9.856), control1: CGPoint(x: 9, y: 9.641), control2: CGPoint(x: 8.952, y: 9.759))
        p.addCurve(to: CGPoint(x: 8.5, y: 10), control1: CGPoint(x: 8.759, y: 9.952), control2: CGPoint(x: 8.641, y: 10))
        p.addLine(to: CGPoint(x: 2, y: 10))
        p.addLine(to: CGPoint(x: 2, y: 13))
        p.addLine(to: CGPoint(x: 8.5, y: 13))
        p.addCurve(to: CGPoint(x: 8.856, y: 13.144), control1: CGPoint(x: 8.641, y: 13), control2: CGPoint(x: 8.759, y: 13.048))
        p.addCurve(to: CGPoint(x: 9, y: 13.5), control1: CGPoint(x: 8.952, y: 13.241), control2: CGPoint(x: 9, y: 13.359))
        p.addCurve(to: CGPoint(x: 8.856, y: 13.856), control1: CGPoint(x: 9, y: 13.641), control2: CGPoint(x: 8.952, y: 13.759))
        p.addCurve(to: CGPoint(x: 8.5, y: 14), control1: CGPoint(x: 8.759, y: 13.952), control2: CGPoint(x: 8.641, y: 14))
        p.addLine(to: CGPoint(x: 2, y: 14))
        p.addCurve(to: CGPoint(x: 1.293, y: 13.707), control1: CGPoint(x: 1.724, y: 14), control2: CGPoint(x: 1.488, y: 13.902))
        p.addCurve(to: CGPoint(x: 1, y: 13), control1: CGPoint(x: 1.098, y: 13.512), control2: CGPoint(x: 1, y: 13.276))
        p.addLine(to: CGPoint(x: 1, y: 10))
        p.addCurve(to: CGPoint(x: 1.293, y: 9.293), control1: CGPoint(x: 1, y: 9.724), control2: CGPoint(x: 1.098, y: 9.488))
        p.closeSubpath()
        p.move(to: CGPoint(x: 4.5, y: 11))
        p.addCurve(to: CGPoint(x: 4.856, y: 11.144), control1: CGPoint(x: 4.641, y: 11), control2: CGPoint(x: 4.759, y: 11.048))
        p.addCurve(to: CGPoint(x: 5, y: 11.5), control1: CGPoint(x: 4.952, y: 11.241), control2: CGPoint(x: 5, y: 11.359))
        p.addCurve(to: CGPoint(x: 4.856, y: 11.856), control1: CGPoint(x: 5, y: 11.641), control2: CGPoint(x: 4.952, y: 11.759))
        p.addCurve(to: CGPoint(x: 4.5, y: 12), control1: CGPoint(x: 4.759, y: 11.952), control2: CGPoint(x: 4.641, y: 12))
        p.addLine(to: CGPoint(x: 3.5, y: 12))
        p.addCurve(to: CGPoint(x: 3.144, y: 11.856), control1: CGPoint(x: 3.359, y: 12), control2: CGPoint(x: 3.241, y: 11.952))
        p.addCurve(to: CGPoint(x: 3, y: 11.5), control1: CGPoint(x: 3.048, y: 11.759), control2: CGPoint(x: 3, y: 11.641))
        p.addCurve(to: CGPoint(x: 3.144, y: 11.144), control1: CGPoint(x: 3, y: 11.359), control2: CGPoint(x: 3.048, y: 11.241))
        p.addCurve(to: CGPoint(x: 3.5, y: 11), control1: CGPoint(x: 3.241, y: 11.048), control2: CGPoint(x: 3.359, y: 11))
        p.addLine(to: CGPoint(x: 4.5, y: 11))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

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

### Compose

```kotlin
// Gentleface "server-sparkle" (line-round), MIT. https://gentleface.com/icons/server-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 ServerSparkleIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "server-sparkle", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M1.293 6.707C1.098 6.512 1 6.276 1 6L1 3C1 2.724 1.098 2.488 1.293 2.293C1.488 2.098 1.724 2 2 2L14 2C14.276 2 14.512 2.098 14.707 2.293C14.902 2.488 15 2.724 15 3L15 6C15 6.276 14.902 6.512 14.707 6.707C14.512 6.902 14.276 7 14 7L13.5 7C13.359 7 13.241 6.952 13.144 6.856C13.048 6.759 13 6.641 13 6.5C13 6.359 13.048 6.241 13.144 6.144C13.241 6.048 13.359 6 13.5 6L14 6L14 3L2 3L2 6L9.5 6C9.641 6 9.759 6.048 9.856 6.144C9.952 6.241 10 6.359 10 6.5C10 6.641 9.952 6.759 9.856 6.856C9.759 6.952 9.641 7 9.5 7L2 7C1.724 7 1.488 6.902 1.293 6.707ZM4.5 4C4.641 4 4.759 4.048 4.856 4.144C4.952 4.241 5 4.359 5 4.5C5 4.641 4.952 4.759 4.856 4.856C4.759 4.952 4.641 5 4.5 5L3.5 5C3.359 5 3.241 4.952 3.144 4.856C3.048 4.759 3 4.641 3 4.5C3 4.359 3.048 4.241 3.144 4.144C3.241 4.048 3.359 4 3.5 4L4.5 4ZM11.5 16C11 13 10 12 7 11.5C10 11 11 10 11.5 7C12 10 13 11 16 11.5C13 12 12 13 11.5 16ZM1.293 9.293C1.488 9.098 1.724 9 2 9L8.5 9C8.641 9 8.759 9.048 8.856 9.144C8.952 9.241 9 9.359 9 9.5C9 9.641 8.952 9.759 8.856 9.856C8.759 9.952 8.641 10 8.5 10L2 10L2 13L8.5 13C8.641 13 8.759 13.048 8.856 13.144C8.952 13.241 9 13.359 9 13.5C9 13.641 8.952 13.759 8.856 13.856C8.759 13.952 8.641 14 8.5 14L2 14C1.724 14 1.488 13.902 1.293 13.707C1.098 13.512 1 13.276 1 13L1 10C1 9.724 1.098 9.488 1.293 9.293ZM4.5 11C4.641 11 4.759 11.048 4.856 11.144C4.952 11.241 5 11.359 5 11.5C5 11.641 4.952 11.759 4.856 11.856C4.759 11.952 4.641 12 4.5 12L3.5 12C3.359 12 3.241 11.952 3.144 11.856C3.048 11.759 3 11.641 3 11.5C3 11.359 3.048 11.241 3.144 11.144C3.241 11.048 3.359 11 3.5 11L4.5 11Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

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

### Android XML

```xml
<!-- res/drawable/ic_server_sparkle.xml · Gentleface "server-sparkle" (line-round), MIT. https://gentleface.com/icons/server-sparkle -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="16dp"
    android:height="16dp"
    android:viewportWidth="16"
    android:viewportHeight="16"
    android:tint="?attr/colorControlNormal">
  <path
      android:fillColor="@android:color/white"
      android:pathData="M1.293 6.707C1.098 6.512 1 6.276 1 6L1 3C1 2.724 1.098 2.488 1.293 2.293C1.488 2.098 1.724 2 2 2L14 2C14.276 2 14.512 2.098 14.707 2.293C14.902 2.488 15 2.724 15 3L15 6C15 6.276 14.902 6.512 14.707 6.707C14.512 6.902 14.276 7 14 7L13.5 7C13.359 7 13.241 6.952 13.144 6.856C13.048 6.759 13 6.641 13 6.5C13 6.359 13.048 6.241 13.144 6.144C13.241 6.048 13.359 6 13.5 6L14 6L14 3L2 3L2 6L9.5 6C9.641 6 9.759 6.048 9.856 6.144C9.952 6.241 10 6.359 10 6.5C10 6.641 9.952 6.759 9.856 6.856C9.759 6.952 9.641 7 9.5 7L2 7C1.724 7 1.488 6.902 1.293 6.707ZM4.5 4C4.641 4 4.759 4.048 4.856 4.144C4.952 4.241 5 4.359 5 4.5C5 4.641 4.952 4.759 4.856 4.856C4.759 4.952 4.641 5 4.5 5L3.5 5C3.359 5 3.241 4.952 3.144 4.856C3.048 4.759 3 4.641 3 4.5C3 4.359 3.048 4.241 3.144 4.144C3.241 4.048 3.359 4 3.5 4L4.5 4ZM11.5 16C11 13 10 12 7 11.5C10 11 11 10 11.5 7C12 10 13 11 16 11.5C13 12 12 13 11.5 16ZM1.293 9.293C1.488 9.098 1.724 9 2 9L8.5 9C8.641 9 8.759 9.048 8.856 9.144C8.952 9.241 9 9.359 9 9.5C9 9.641 8.952 9.759 8.856 9.856C8.759 9.952 8.641 10 8.5 10L2 10L2 13L8.5 13C8.641 13 8.759 13.048 8.856 13.144C8.952 13.241 9 13.359 9 13.5C9 13.641 8.952 13.759 8.856 13.856C8.759 13.952 8.641 14 8.5 14L2 14C1.724 14 1.488 13.902 1.293 13.707C1.098 13.512 1 13.276 1 13L1 10C1 9.724 1.098 9.488 1.293 9.293ZM4.5 11C4.641 11 4.759 11.048 4.856 11.144C4.952 11.241 5 11.359 5 11.5C5 11.641 4.952 11.759 4.856 11.856C4.759 11.952 4.641 12 4.5 12L3.5 12C3.359 12 3.241 11.952 3.144 11.856C3.048 11.759 3 11.641 3 11.5C3 11.359 3.048 11.241 3.144 11.144C3.241 11.048 3.359 11 3.5 11L4.5 11Z"/>
</vector>
```

### Flutter

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

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

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

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

  @override
  void paint(Canvas canvas, Size size) {
    canvas.scale(size.width / 16, size.height / 16);
    final p = Path()
      ..moveTo(1.293, 6.707)
      ..cubicTo(1.098, 6.512, 1, 6.276, 1, 6)
      ..lineTo(1, 3)
      ..cubicTo(1, 2.724, 1.098, 2.488, 1.293, 2.293)
      ..cubicTo(1.488, 2.098, 1.724, 2, 2, 2)
      ..lineTo(14, 2)
      ..cubicTo(14.276, 2, 14.512, 2.098, 14.707, 2.293)
      ..cubicTo(14.902, 2.488, 15, 2.724, 15, 3)
      ..lineTo(15, 6)
      ..cubicTo(15, 6.276, 14.902, 6.512, 14.707, 6.707)
      ..cubicTo(14.512, 6.902, 14.276, 7, 14, 7)
      ..lineTo(13.5, 7)
      ..cubicTo(13.359, 7, 13.241, 6.952, 13.144, 6.856)
      ..cubicTo(13.048, 6.759, 13, 6.641, 13, 6.5)
      ..cubicTo(13, 6.359, 13.048, 6.241, 13.144, 6.144)
      ..cubicTo(13.241, 6.048, 13.359, 6, 13.5, 6)
      ..lineTo(14, 6)
      ..lineTo(14, 3)
      ..lineTo(2, 3)
      ..lineTo(2, 6)
      ..lineTo(9.5, 6)
      ..cubicTo(9.641, 6, 9.759, 6.048, 9.856, 6.144)
      ..cubicTo(9.952, 6.241, 10, 6.359, 10, 6.5)
      ..cubicTo(10, 6.641, 9.952, 6.759, 9.856, 6.856)
      ..cubicTo(9.759, 6.952, 9.641, 7, 9.5, 7)
      ..lineTo(2, 7)
      ..cubicTo(1.724, 7, 1.488, 6.902, 1.293, 6.707)
      ..close()
      ..moveTo(4.5, 4)
      ..cubicTo(4.641, 4, 4.759, 4.048, 4.856, 4.144)
      ..cubicTo(4.952, 4.241, 5, 4.359, 5, 4.5)
      ..cubicTo(5, 4.641, 4.952, 4.759, 4.856, 4.856)
      ..cubicTo(4.759, 4.952, 4.641, 5, 4.5, 5)
      ..lineTo(3.5, 5)
      ..cubicTo(3.359, 5, 3.241, 4.952, 3.144, 4.856)
      ..cubicTo(3.048, 4.759, 3, 4.641, 3, 4.5)
      ..cubicTo(3, 4.359, 3.048, 4.241, 3.144, 4.144)
      ..cubicTo(3.241, 4.048, 3.359, 4, 3.5, 4)
      ..lineTo(4.5, 4)
      ..close()
      ..moveTo(11.5, 16)
      ..cubicTo(11, 13, 10, 12, 7, 11.5)
      ..cubicTo(10, 11, 11, 10, 11.5, 7)
      ..cubicTo(12, 10, 13, 11, 16, 11.5)
      ..cubicTo(13, 12, 12, 13, 11.5, 16)
      ..close()
      ..moveTo(1.293, 9.293)
      ..cubicTo(1.488, 9.098, 1.724, 9, 2, 9)
      ..lineTo(8.5, 9)
      ..cubicTo(8.641, 9, 8.759, 9.048, 8.856, 9.144)
      ..cubicTo(8.952, 9.241, 9, 9.359, 9, 9.5)
      ..cubicTo(9, 9.641, 8.952, 9.759, 8.856, 9.856)
      ..cubicTo(8.759, 9.952, 8.641, 10, 8.5, 10)
      ..lineTo(2, 10)
      ..lineTo(2, 13)
      ..lineTo(8.5, 13)
      ..cubicTo(8.641, 13, 8.759, 13.048, 8.856, 13.144)
      ..cubicTo(8.952, 13.241, 9, 13.359, 9, 13.5)
      ..cubicTo(9, 13.641, 8.952, 13.759, 8.856, 13.856)
      ..cubicTo(8.759, 13.952, 8.641, 14, 8.5, 14)
      ..lineTo(2, 14)
      ..cubicTo(1.724, 14, 1.488, 13.902, 1.293, 13.707)
      ..cubicTo(1.098, 13.512, 1, 13.276, 1, 13)
      ..lineTo(1, 10)
      ..cubicTo(1, 9.724, 1.098, 9.488, 1.293, 9.293)
      ..close()
      ..moveTo(4.5, 11)
      ..cubicTo(4.641, 11, 4.759, 11.048, 4.856, 11.144)
      ..cubicTo(4.952, 11.241, 5, 11.359, 5, 11.5)
      ..cubicTo(5, 11.641, 4.952, 11.759, 4.856, 11.856)
      ..cubicTo(4.759, 11.952, 4.641, 12, 4.5, 12)
      ..lineTo(3.5, 12)
      ..cubicTo(3.359, 12, 3.241, 11.952, 3.144, 11.856)
      ..cubicTo(3.048, 11.759, 3, 11.641, 3, 11.5)
      ..cubicTo(3, 11.359, 3.048, 11.241, 3.144, 11.144)
      ..cubicTo(3.241, 11.048, 3.359, 11, 3.5, 11)
      ..lineTo(4.5, 11)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

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