# worm icon

Worm. Gentleface icon, drawn on the 16 px pixel grid. Free, MIT licensed. Page: https://gentleface.com/icons/worm

- Category: Nature & animals
- Use it for: worm, earthworm, larva
- Tags: worm, earthworm, larva, grub, caterpillar, soil, compost, fishing bait, garden, critter, animal
- Component name: WormIcon
- Added: 2026-10-29
- Since: version 0.2.0
- npm: `import { WormIcon } from '@gentleface/react';` (@gentleface/react 0.2.0)
- Changed: 2026-10-30 (added)

## Files

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

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

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

## Code (line-round)

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

### SVG

```svg
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M2.343 12.906C2.268 12.814 2.232 12.695 2.244 12.577C2.247 12.55 2.249 12.525 2.25 12.501C2.253 12.417 2.256 12.29 2.259 12.12L2.259 12.119C2.266 11.751 2.28 11.475 2.301 11.293C2.336 10.988 2.402 10.723 2.5 10.5C2.635 10.191 2.802 9.941 3 9.75C3.095 9.658 3.214 9.564 3.357 9.468C3.503 9.371 3.633 9.298 3.749 9.25C4.153 9.083 4.57 9 5 9L5.756 9L5.569 11.085C5.263 11.028 5.073 11 5 11C4.723 11 4.465 11.088 4.226 11.263C4.075 11.374 3.917 11.536 3.75 11.75C3.635 11.898 3.517 12.075 3.395 12.281C3.324 12.402 3.222 12.587 3.089 12.835C3.003 12.995 2.828 13.088 2.647 13.07C2.528 13.058 2.419 12.999 2.343 12.906ZM6.759 9L7.791 9L9.777 10.973C9.603 11.092 9.428 11.185 9.25 11.25C8.796 11.417 8.38 11.5 8 11.5C7.817 11.5 7.507 11.452 7.07 11.356C6.839 11.305 6.669 11.272 6.558 11.257L6.759 9ZM8.5 8.296L8.5 7.251L10.756 7.05C10.771 7.158 10.804 7.33 10.855 7.566C10.952 8.009 11 8.32 11 8.5C11 8.66 10.95 8.933 10.849 9.319C10.736 9.752 10.62 10.062 10.5 10.25C10.496 10.257 10.492 10.263 10.488 10.269L8.5 8.296ZM8.5 6.247L8.5 5.5C8.5 5.466 8.512 5.382 8.537 5.246C8.566 5.089 8.601 4.928 8.642 4.762C8.756 4.294 8.876 3.957 9 3.75C9.259 3.32 9.593 2.986 10 2.75C10.179 2.646 10.393 2.555 10.64 2.476C10.787 2.429 11.009 2.37 11.304 2.298L11.5 2.25C11.564 2.234 11.668 2.211 11.814 2.179C12.142 2.109 12.371 2.049 12.501 2C12.59 1.966 12.707 1.892 12.854 1.778C12.972 1.686 13.066 1.622 13.135 1.587C13.25 1.529 13.371 1.5 13.5 1.5C13.773 1.5 14.007 1.599 14.204 1.796C14.401 1.993 14.5 2.227 14.5 2.5C14.5 2.84 14.325 3.153 13.975 3.439C13.751 3.621 13.426 3.809 13 4C12.767 4.105 12.409 4.228 11.928 4.37C11.738 4.426 11.596 4.47 11.5 4.5C11.184 4.6 10.952 4.712 10.805 4.833C10.602 5.002 10.5 5.224 10.5 5.5C10.5 5.572 10.528 5.759 10.584 6.061L8.5 6.247Z"/></svg>
```

### React

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

export function WormIcon(props: SVGProps<SVGSVGElement>) {
  return (
    <svg xmlns="http://www.w3.org/2000/svg" width={16} height={16} viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" {...props}>
      <path d="M2.343 12.906C2.268 12.814 2.232 12.695 2.244 12.577C2.247 12.55 2.249 12.525 2.25 12.501C2.253 12.417 2.256 12.29 2.259 12.12L2.259 12.119C2.266 11.751 2.28 11.475 2.301 11.293C2.336 10.988 2.402 10.723 2.5 10.5C2.635 10.191 2.802 9.941 3 9.75C3.095 9.658 3.214 9.564 3.357 9.468C3.503 9.371 3.633 9.298 3.749 9.25C4.153 9.083 4.57 9 5 9L5.756 9L5.569 11.085C5.263 11.028 5.073 11 5 11C4.723 11 4.465 11.088 4.226 11.263C4.075 11.374 3.917 11.536 3.75 11.75C3.635 11.898 3.517 12.075 3.395 12.281C3.324 12.402 3.222 12.587 3.089 12.835C3.003 12.995 2.828 13.088 2.647 13.07C2.528 13.058 2.419 12.999 2.343 12.906ZM6.759 9L7.791 9L9.777 10.973C9.603 11.092 9.428 11.185 9.25 11.25C8.796 11.417 8.38 11.5 8 11.5C7.817 11.5 7.507 11.452 7.07 11.356C6.839 11.305 6.669 11.272 6.558 11.257L6.759 9ZM8.5 8.296L8.5 7.251L10.756 7.05C10.771 7.158 10.804 7.33 10.855 7.566C10.952 8.009 11 8.32 11 8.5C11 8.66 10.95 8.933 10.849 9.319C10.736 9.752 10.62 10.062 10.5 10.25C10.496 10.257 10.492 10.263 10.488 10.269L8.5 8.296ZM8.5 6.247L8.5 5.5C8.5 5.466 8.512 5.382 8.537 5.246C8.566 5.089 8.601 4.928 8.642 4.762C8.756 4.294 8.876 3.957 9 3.75C9.259 3.32 9.593 2.986 10 2.75C10.179 2.646 10.393 2.555 10.64 2.476C10.787 2.429 11.009 2.37 11.304 2.298L11.5 2.25C11.564 2.234 11.668 2.211 11.814 2.179C12.142 2.109 12.371 2.049 12.501 2C12.59 1.966 12.707 1.892 12.854 1.778C12.972 1.686 13.066 1.622 13.135 1.587C13.25 1.529 13.371 1.5 13.5 1.5C13.773 1.5 14.007 1.599 14.204 1.796C14.401 1.993 14.5 2.227 14.5 2.5C14.5 2.84 14.325 3.153 13.975 3.439C13.751 3.621 13.426 3.809 13 4C12.767 4.105 12.409 4.228 11.928 4.37C11.738 4.426 11.596 4.47 11.5 4.5C11.184 4.6 10.952 4.712 10.805 4.833C10.602 5.002 10.5 5.224 10.5 5.5C10.5 5.572 10.528 5.759 10.584 6.061L8.5 6.247Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "worm" (line-round), MIT. https://gentleface.com/icons/worm -->
<template>
  <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true">
    <path d="M2.343 12.906C2.268 12.814 2.232 12.695 2.244 12.577C2.247 12.55 2.249 12.525 2.25 12.501C2.253 12.417 2.256 12.29 2.259 12.12L2.259 12.119C2.266 11.751 2.28 11.475 2.301 11.293C2.336 10.988 2.402 10.723 2.5 10.5C2.635 10.191 2.802 9.941 3 9.75C3.095 9.658 3.214 9.564 3.357 9.468C3.503 9.371 3.633 9.298 3.749 9.25C4.153 9.083 4.57 9 5 9L5.756 9L5.569 11.085C5.263 11.028 5.073 11 5 11C4.723 11 4.465 11.088 4.226 11.263C4.075 11.374 3.917 11.536 3.75 11.75C3.635 11.898 3.517 12.075 3.395 12.281C3.324 12.402 3.222 12.587 3.089 12.835C3.003 12.995 2.828 13.088 2.647 13.07C2.528 13.058 2.419 12.999 2.343 12.906ZM6.759 9L7.791 9L9.777 10.973C9.603 11.092 9.428 11.185 9.25 11.25C8.796 11.417 8.38 11.5 8 11.5C7.817 11.5 7.507 11.452 7.07 11.356C6.839 11.305 6.669 11.272 6.558 11.257L6.759 9ZM8.5 8.296L8.5 7.251L10.756 7.05C10.771 7.158 10.804 7.33 10.855 7.566C10.952 8.009 11 8.32 11 8.5C11 8.66 10.95 8.933 10.849 9.319C10.736 9.752 10.62 10.062 10.5 10.25C10.496 10.257 10.492 10.263 10.488 10.269L8.5 8.296ZM8.5 6.247L8.5 5.5C8.5 5.466 8.512 5.382 8.537 5.246C8.566 5.089 8.601 4.928 8.642 4.762C8.756 4.294 8.876 3.957 9 3.75C9.259 3.32 9.593 2.986 10 2.75C10.179 2.646 10.393 2.555 10.64 2.476C10.787 2.429 11.009 2.37 11.304 2.298L11.5 2.25C11.564 2.234 11.668 2.211 11.814 2.179C12.142 2.109 12.371 2.049 12.501 2C12.59 1.966 12.707 1.892 12.854 1.778C12.972 1.686 13.066 1.622 13.135 1.587C13.25 1.529 13.371 1.5 13.5 1.5C13.773 1.5 14.007 1.599 14.204 1.796C14.401 1.993 14.5 2.227 14.5 2.5C14.5 2.84 14.325 3.153 13.975 3.439C13.751 3.621 13.426 3.809 13 4C12.767 4.105 12.409 4.228 11.928 4.37C11.738 4.426 11.596 4.47 11.5 4.5C11.184 4.6 10.952 4.712 10.805 4.833C10.602 5.002 10.5 5.224 10.5 5.5C10.5 5.572 10.528 5.759 10.584 6.061L8.5 6.247Z" />
  </svg>
</template>
```

### Svelte

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

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" {...props}>
  <path d="M2.343 12.906C2.268 12.814 2.232 12.695 2.244 12.577C2.247 12.55 2.249 12.525 2.25 12.501C2.253 12.417 2.256 12.29 2.259 12.12L2.259 12.119C2.266 11.751 2.28 11.475 2.301 11.293C2.336 10.988 2.402 10.723 2.5 10.5C2.635 10.191 2.802 9.941 3 9.75C3.095 9.658 3.214 9.564 3.357 9.468C3.503 9.371 3.633 9.298 3.749 9.25C4.153 9.083 4.57 9 5 9L5.756 9L5.569 11.085C5.263 11.028 5.073 11 5 11C4.723 11 4.465 11.088 4.226 11.263C4.075 11.374 3.917 11.536 3.75 11.75C3.635 11.898 3.517 12.075 3.395 12.281C3.324 12.402 3.222 12.587 3.089 12.835C3.003 12.995 2.828 13.088 2.647 13.07C2.528 13.058 2.419 12.999 2.343 12.906ZM6.759 9L7.791 9L9.777 10.973C9.603 11.092 9.428 11.185 9.25 11.25C8.796 11.417 8.38 11.5 8 11.5C7.817 11.5 7.507 11.452 7.07 11.356C6.839 11.305 6.669 11.272 6.558 11.257L6.759 9ZM8.5 8.296L8.5 7.251L10.756 7.05C10.771 7.158 10.804 7.33 10.855 7.566C10.952 8.009 11 8.32 11 8.5C11 8.66 10.95 8.933 10.849 9.319C10.736 9.752 10.62 10.062 10.5 10.25C10.496 10.257 10.492 10.263 10.488 10.269L8.5 8.296ZM8.5 6.247L8.5 5.5C8.5 5.466 8.512 5.382 8.537 5.246C8.566 5.089 8.601 4.928 8.642 4.762C8.756 4.294 8.876 3.957 9 3.75C9.259 3.32 9.593 2.986 10 2.75C10.179 2.646 10.393 2.555 10.64 2.476C10.787 2.429 11.009 2.37 11.304 2.298L11.5 2.25C11.564 2.234 11.668 2.211 11.814 2.179C12.142 2.109 12.371 2.049 12.501 2C12.59 1.966 12.707 1.892 12.854 1.778C12.972 1.686 13.066 1.622 13.135 1.587C13.25 1.529 13.371 1.5 13.5 1.5C13.773 1.5 14.007 1.599 14.204 1.796C14.401 1.993 14.5 2.227 14.5 2.5C14.5 2.84 14.325 3.153 13.975 3.439C13.751 3.621 13.426 3.809 13 4C12.767 4.105 12.409 4.228 11.928 4.37C11.738 4.426 11.596 4.47 11.5 4.5C11.184 4.6 10.952 4.712 10.805 4.833C10.602 5.002 10.5 5.224 10.5 5.5C10.5 5.572 10.528 5.759 10.584 6.061L8.5 6.247Z" />
</svg>
```

### HTML img

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

### CSS

```css
/* Gentleface "worm" (line-round), MIT. https://gentleface.com/icons/worm. Takes the text color. */
.icon-worm {
  display: inline-block;
  width: 16px;
  height: 16px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M2.343 12.906C2.268 12.814 2.232 12.695 2.244 12.577C2.247 12.55 2.249 12.525 2.25 12.501C2.253 12.417 2.256 12.29 2.259 12.12L2.259 12.119C2.266 11.751 2.28 11.475 2.301 11.293C2.336 10.988 2.402 10.723 2.5 10.5C2.635 10.191 2.802 9.941 3 9.75C3.095 9.658 3.214 9.564 3.357 9.468C3.503 9.371 3.633 9.298 3.749 9.25C4.153 9.083 4.57 9 5 9L5.756 9L5.569 11.085C5.263 11.028 5.073 11 5 11C4.723 11 4.465 11.088 4.226 11.263C4.075 11.374 3.917 11.536 3.75 11.75C3.635 11.898 3.517 12.075 3.395 12.281C3.324 12.402 3.222 12.587 3.089 12.835C3.003 12.995 2.828 13.088 2.647 13.07C2.528 13.058 2.419 12.999 2.343 12.906ZM6.759 9L7.791 9L9.777 10.973C9.603 11.092 9.428 11.185 9.25 11.25C8.796 11.417 8.38 11.5 8 11.5C7.817 11.5 7.507 11.452 7.07 11.356C6.839 11.305 6.669 11.272 6.558 11.257L6.759 9ZM8.5 8.296L8.5 7.251L10.756 7.05C10.771 7.158 10.804 7.33 10.855 7.566C10.952 8.009 11 8.32 11 8.5C11 8.66 10.95 8.933 10.849 9.319C10.736 9.752 10.62 10.062 10.5 10.25C10.496 10.257 10.492 10.263 10.488 10.269L8.5 8.296ZM8.5 6.247L8.5 5.5C8.5 5.466 8.512 5.382 8.537 5.246C8.566 5.089 8.601 4.928 8.642 4.762C8.756 4.294 8.876 3.957 9 3.75C9.259 3.32 9.593 2.986 10 2.75C10.179 2.646 10.393 2.555 10.64 2.476C10.787 2.429 11.009 2.37 11.304 2.298L11.5 2.25C11.564 2.234 11.668 2.211 11.814 2.179C12.142 2.109 12.371 2.049 12.501 2C12.59 1.966 12.707 1.892 12.854 1.778C12.972 1.686 13.066 1.622 13.135 1.587C13.25 1.529 13.371 1.5 13.5 1.5C13.773 1.5 14.007 1.599 14.204 1.796C14.401 1.993 14.5 2.227 14.5 2.5C14.5 2.84 14.325 3.153 13.975 3.439C13.751 3.621 13.426 3.809 13 4C12.767 4.105 12.409 4.228 11.928 4.37C11.738 4.426 11.596 4.47 11.5 4.5C11.184 4.6 10.952 4.712 10.805 4.833C10.602 5.002 10.5 5.224 10.5 5.5C10.5 5.572 10.528 5.759 10.584 6.061L8.5 6.247Z'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M2.343 12.906C2.268 12.814 2.232 12.695 2.244 12.577C2.247 12.55 2.249 12.525 2.25 12.501C2.253 12.417 2.256 12.29 2.259 12.12L2.259 12.119C2.266 11.751 2.28 11.475 2.301 11.293C2.336 10.988 2.402 10.723 2.5 10.5C2.635 10.191 2.802 9.941 3 9.75C3.095 9.658 3.214 9.564 3.357 9.468C3.503 9.371 3.633 9.298 3.749 9.25C4.153 9.083 4.57 9 5 9L5.756 9L5.569 11.085C5.263 11.028 5.073 11 5 11C4.723 11 4.465 11.088 4.226 11.263C4.075 11.374 3.917 11.536 3.75 11.75C3.635 11.898 3.517 12.075 3.395 12.281C3.324 12.402 3.222 12.587 3.089 12.835C3.003 12.995 2.828 13.088 2.647 13.07C2.528 13.058 2.419 12.999 2.343 12.906ZM6.759 9L7.791 9L9.777 10.973C9.603 11.092 9.428 11.185 9.25 11.25C8.796 11.417 8.38 11.5 8 11.5C7.817 11.5 7.507 11.452 7.07 11.356C6.839 11.305 6.669 11.272 6.558 11.257L6.759 9ZM8.5 8.296L8.5 7.251L10.756 7.05C10.771 7.158 10.804 7.33 10.855 7.566C10.952 8.009 11 8.32 11 8.5C11 8.66 10.95 8.933 10.849 9.319C10.736 9.752 10.62 10.062 10.5 10.25C10.496 10.257 10.492 10.263 10.488 10.269L8.5 8.296ZM8.5 6.247L8.5 5.5C8.5 5.466 8.512 5.382 8.537 5.246C8.566 5.089 8.601 4.928 8.642 4.762C8.756 4.294 8.876 3.957 9 3.75C9.259 3.32 9.593 2.986 10 2.75C10.179 2.646 10.393 2.555 10.64 2.476C10.787 2.429 11.009 2.37 11.304 2.298L11.5 2.25C11.564 2.234 11.668 2.211 11.814 2.179C12.142 2.109 12.371 2.049 12.501 2C12.59 1.966 12.707 1.892 12.854 1.778C12.972 1.686 13.066 1.622 13.135 1.587C13.25 1.529 13.371 1.5 13.5 1.5C13.773 1.5 14.007 1.599 14.204 1.796C14.401 1.993 14.5 2.227 14.5 2.5C14.5 2.84 14.325 3.153 13.975 3.439C13.751 3.621 13.426 3.809 13 4C12.767 4.105 12.409 4.228 11.928 4.37C11.738 4.426 11.596 4.47 11.5 4.5C11.184 4.6 10.952 4.712 10.805 4.833C10.602 5.002 10.5 5.224 10.5 5.5C10.5 5.572 10.528 5.759 10.584 6.061L8.5 6.247Z'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
}
```

### Data URL

```text
data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M2.343 12.906C2.268 12.814 2.232 12.695 2.244 12.577C2.247 12.55 2.249 12.525 2.25 12.501C2.253 12.417 2.256 12.29 2.259 12.12L2.259 12.119C2.266 11.751 2.28 11.475 2.301 11.293C2.336 10.988 2.402 10.723 2.5 10.5C2.635 10.191 2.802 9.941 3 9.75C3.095 9.658 3.214 9.564 3.357 9.468C3.503 9.371 3.633 9.298 3.749 9.25C4.153 9.083 4.57 9 5 9L5.756 9L5.569 11.085C5.263 11.028 5.073 11 5 11C4.723 11 4.465 11.088 4.226 11.263C4.075 11.374 3.917 11.536 3.75 11.75C3.635 11.898 3.517 12.075 3.395 12.281C3.324 12.402 3.222 12.587 3.089 12.835C3.003 12.995 2.828 13.088 2.647 13.07C2.528 13.058 2.419 12.999 2.343 12.906ZM6.759 9L7.791 9L9.777 10.973C9.603 11.092 9.428 11.185 9.25 11.25C8.796 11.417 8.38 11.5 8 11.5C7.817 11.5 7.507 11.452 7.07 11.356C6.839 11.305 6.669 11.272 6.558 11.257L6.759 9ZM8.5 8.296L8.5 7.251L10.756 7.05C10.771 7.158 10.804 7.33 10.855 7.566C10.952 8.009 11 8.32 11 8.5C11 8.66 10.95 8.933 10.849 9.319C10.736 9.752 10.62 10.062 10.5 10.25C10.496 10.257 10.492 10.263 10.488 10.269L8.5 8.296ZM8.5 6.247L8.5 5.5C8.5 5.466 8.512 5.382 8.537 5.246C8.566 5.089 8.601 4.928 8.642 4.762C8.756 4.294 8.876 3.957 9 3.75C9.259 3.32 9.593 2.986 10 2.75C10.179 2.646 10.393 2.555 10.64 2.476C10.787 2.429 11.009 2.37 11.304 2.298L11.5 2.25C11.564 2.234 11.668 2.211 11.814 2.179C12.142 2.109 12.371 2.049 12.501 2C12.59 1.966 12.707 1.892 12.854 1.778C12.972 1.686 13.066 1.622 13.135 1.587C13.25 1.529 13.371 1.5 13.5 1.5C13.773 1.5 14.007 1.599 14.204 1.796C14.401 1.993 14.5 2.227 14.5 2.5C14.5 2.84 14.325 3.153 13.975 3.439C13.751 3.621 13.426 3.809 13 4C12.767 4.105 12.409 4.228 11.928 4.37C11.738 4.426 11.596 4.47 11.5 4.5C11.184 4.6 10.952 4.712 10.805 4.833C10.602 5.002 10.5 5.224 10.5 5.5C10.5 5.572 10.528 5.759 10.584 6.061L8.5 6.247Z'/%3E%3C/svg%3E
```

### Sprite

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

### SwiftUI

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

struct WormIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 2.343, y: 12.906))
        p.addCurve(to: CGPoint(x: 2.244, y: 12.577), control1: CGPoint(x: 2.268, y: 12.814), control2: CGPoint(x: 2.232, y: 12.695))
        p.addCurve(to: CGPoint(x: 2.25, y: 12.501), control1: CGPoint(x: 2.247, y: 12.55), control2: CGPoint(x: 2.249, y: 12.525))
        p.addCurve(to: CGPoint(x: 2.259, y: 12.12), control1: CGPoint(x: 2.253, y: 12.417), control2: CGPoint(x: 2.256, y: 12.29))
        p.addLine(to: CGPoint(x: 2.259, y: 12.119))
        p.addCurve(to: CGPoint(x: 2.301, y: 11.293), control1: CGPoint(x: 2.266, y: 11.751), control2: CGPoint(x: 2.28, y: 11.475))
        p.addCurve(to: CGPoint(x: 2.5, y: 10.5), control1: CGPoint(x: 2.336, y: 10.988), control2: CGPoint(x: 2.402, y: 10.723))
        p.addCurve(to: CGPoint(x: 3, y: 9.75), control1: CGPoint(x: 2.635, y: 10.191), control2: CGPoint(x: 2.802, y: 9.941))
        p.addCurve(to: CGPoint(x: 3.357, y: 9.468), control1: CGPoint(x: 3.095, y: 9.658), control2: CGPoint(x: 3.214, y: 9.564))
        p.addCurve(to: CGPoint(x: 3.749, y: 9.25), control1: CGPoint(x: 3.503, y: 9.371), control2: CGPoint(x: 3.633, y: 9.298))
        p.addCurve(to: CGPoint(x: 5, y: 9), control1: CGPoint(x: 4.153, y: 9.083), control2: CGPoint(x: 4.57, y: 9))
        p.addLine(to: CGPoint(x: 5.756, y: 9))
        p.addLine(to: CGPoint(x: 5.569, y: 11.085))
        p.addCurve(to: CGPoint(x: 5, y: 11), control1: CGPoint(x: 5.263, y: 11.028), control2: CGPoint(x: 5.073, y: 11))
        p.addCurve(to: CGPoint(x: 4.226, y: 11.263), control1: CGPoint(x: 4.723, y: 11), control2: CGPoint(x: 4.465, y: 11.088))
        p.addCurve(to: CGPoint(x: 3.75, y: 11.75), control1: CGPoint(x: 4.075, y: 11.374), control2: CGPoint(x: 3.917, y: 11.536))
        p.addCurve(to: CGPoint(x: 3.395, y: 12.281), control1: CGPoint(x: 3.635, y: 11.898), control2: CGPoint(x: 3.517, y: 12.075))
        p.addCurve(to: CGPoint(x: 3.089, y: 12.835), control1: CGPoint(x: 3.324, y: 12.402), control2: CGPoint(x: 3.222, y: 12.587))
        p.addCurve(to: CGPoint(x: 2.647, y: 13.07), control1: CGPoint(x: 3.003, y: 12.995), control2: CGPoint(x: 2.828, y: 13.088))
        p.addCurve(to: CGPoint(x: 2.343, y: 12.906), control1: CGPoint(x: 2.528, y: 13.058), control2: CGPoint(x: 2.419, y: 12.999))
        p.closeSubpath()
        p.move(to: CGPoint(x: 6.759, y: 9))
        p.addLine(to: CGPoint(x: 7.791, y: 9))
        p.addLine(to: CGPoint(x: 9.777, y: 10.973))
        p.addCurve(to: CGPoint(x: 9.25, y: 11.25), control1: CGPoint(x: 9.603, y: 11.092), control2: CGPoint(x: 9.428, y: 11.185))
        p.addCurve(to: CGPoint(x: 8, y: 11.5), control1: CGPoint(x: 8.796, y: 11.417), control2: CGPoint(x: 8.38, y: 11.5))
        p.addCurve(to: CGPoint(x: 7.07, y: 11.356), control1: CGPoint(x: 7.817, y: 11.5), control2: CGPoint(x: 7.507, y: 11.452))
        p.addCurve(to: CGPoint(x: 6.558, y: 11.257), control1: CGPoint(x: 6.839, y: 11.305), control2: CGPoint(x: 6.669, y: 11.272))
        p.addLine(to: CGPoint(x: 6.759, y: 9))
        p.closeSubpath()
        p.move(to: CGPoint(x: 8.5, y: 8.296))
        p.addLine(to: CGPoint(x: 8.5, y: 7.251))
        p.addLine(to: CGPoint(x: 10.756, y: 7.05))
        p.addCurve(to: CGPoint(x: 10.855, y: 7.566), control1: CGPoint(x: 10.771, y: 7.158), control2: CGPoint(x: 10.804, y: 7.33))
        p.addCurve(to: CGPoint(x: 11, y: 8.5), control1: CGPoint(x: 10.952, y: 8.009), control2: CGPoint(x: 11, y: 8.32))
        p.addCurve(to: CGPoint(x: 10.849, y: 9.319), control1: CGPoint(x: 11, y: 8.66), control2: CGPoint(x: 10.95, y: 8.933))
        p.addCurve(to: CGPoint(x: 10.5, y: 10.25), control1: CGPoint(x: 10.736, y: 9.752), control2: CGPoint(x: 10.62, y: 10.062))
        p.addCurve(to: CGPoint(x: 10.488, y: 10.269), control1: CGPoint(x: 10.496, y: 10.257), control2: CGPoint(x: 10.492, y: 10.263))
        p.addLine(to: CGPoint(x: 8.5, y: 8.296))
        p.closeSubpath()
        p.move(to: CGPoint(x: 8.5, y: 6.247))
        p.addLine(to: CGPoint(x: 8.5, y: 5.5))
        p.addCurve(to: CGPoint(x: 8.537, y: 5.246), control1: CGPoint(x: 8.5, y: 5.466), control2: CGPoint(x: 8.512, y: 5.382))
        p.addCurve(to: CGPoint(x: 8.642, y: 4.762), control1: CGPoint(x: 8.566, y: 5.089), control2: CGPoint(x: 8.601, y: 4.928))
        p.addCurve(to: CGPoint(x: 9, y: 3.75), control1: CGPoint(x: 8.756, y: 4.294), control2: CGPoint(x: 8.876, y: 3.957))
        p.addCurve(to: CGPoint(x: 10, y: 2.75), control1: CGPoint(x: 9.259, y: 3.32), control2: CGPoint(x: 9.593, y: 2.986))
        p.addCurve(to: CGPoint(x: 10.64, y: 2.476), control1: CGPoint(x: 10.179, y: 2.646), control2: CGPoint(x: 10.393, y: 2.555))
        p.addCurve(to: CGPoint(x: 11.304, y: 2.298), control1: CGPoint(x: 10.787, y: 2.429), control2: CGPoint(x: 11.009, y: 2.37))
        p.addLine(to: CGPoint(x: 11.5, y: 2.25))
        p.addCurve(to: CGPoint(x: 11.814, y: 2.179), control1: CGPoint(x: 11.564, y: 2.234), control2: CGPoint(x: 11.668, y: 2.211))
        p.addCurve(to: CGPoint(x: 12.501, y: 2), control1: CGPoint(x: 12.142, y: 2.109), control2: CGPoint(x: 12.371, y: 2.049))
        p.addCurve(to: CGPoint(x: 12.854, y: 1.778), control1: CGPoint(x: 12.59, y: 1.966), control2: CGPoint(x: 12.707, y: 1.892))
        p.addCurve(to: CGPoint(x: 13.135, y: 1.587), control1: CGPoint(x: 12.972, y: 1.686), control2: CGPoint(x: 13.066, y: 1.622))
        p.addCurve(to: CGPoint(x: 13.5, y: 1.5), control1: CGPoint(x: 13.25, y: 1.529), control2: CGPoint(x: 13.371, y: 1.5))
        p.addCurve(to: CGPoint(x: 14.204, y: 1.796), control1: CGPoint(x: 13.773, y: 1.5), control2: CGPoint(x: 14.007, y: 1.599))
        p.addCurve(to: CGPoint(x: 14.5, y: 2.5), control1: CGPoint(x: 14.401, y: 1.993), control2: CGPoint(x: 14.5, y: 2.227))
        p.addCurve(to: CGPoint(x: 13.975, y: 3.439), control1: CGPoint(x: 14.5, y: 2.84), control2: CGPoint(x: 14.325, y: 3.153))
        p.addCurve(to: CGPoint(x: 13, y: 4), control1: CGPoint(x: 13.751, y: 3.621), control2: CGPoint(x: 13.426, y: 3.809))
        p.addCurve(to: CGPoint(x: 11.928, y: 4.37), control1: CGPoint(x: 12.767, y: 4.105), control2: CGPoint(x: 12.409, y: 4.228))
        p.addCurve(to: CGPoint(x: 11.5, y: 4.5), control1: CGPoint(x: 11.738, y: 4.426), control2: CGPoint(x: 11.596, y: 4.47))
        p.addCurve(to: CGPoint(x: 10.805, y: 4.833), control1: CGPoint(x: 11.184, y: 4.6), control2: CGPoint(x: 10.952, y: 4.712))
        p.addCurve(to: CGPoint(x: 10.5, y: 5.5), control1: CGPoint(x: 10.602, y: 5.002), control2: CGPoint(x: 10.5, y: 5.224))
        p.addCurve(to: CGPoint(x: 10.584, y: 6.061), control1: CGPoint(x: 10.5, y: 5.572), control2: CGPoint(x: 10.528, y: 5.759))
        p.addLine(to: CGPoint(x: 8.5, y: 6.247))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

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

### Compose

```kotlin
// Gentleface "worm" (line-round), MIT. https://gentleface.com/icons/worm
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 WormIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "worm", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M2.343 12.906C2.268 12.814 2.232 12.695 2.244 12.577C2.247 12.55 2.249 12.525 2.25 12.501C2.253 12.417 2.256 12.29 2.259 12.12L2.259 12.119C2.266 11.751 2.28 11.475 2.301 11.293C2.336 10.988 2.402 10.723 2.5 10.5C2.635 10.191 2.802 9.941 3 9.75C3.095 9.658 3.214 9.564 3.357 9.468C3.503 9.371 3.633 9.298 3.749 9.25C4.153 9.083 4.57 9 5 9L5.756 9L5.569 11.085C5.263 11.028 5.073 11 5 11C4.723 11 4.465 11.088 4.226 11.263C4.075 11.374 3.917 11.536 3.75 11.75C3.635 11.898 3.517 12.075 3.395 12.281C3.324 12.402 3.222 12.587 3.089 12.835C3.003 12.995 2.828 13.088 2.647 13.07C2.528 13.058 2.419 12.999 2.343 12.906ZM6.759 9L7.791 9L9.777 10.973C9.603 11.092 9.428 11.185 9.25 11.25C8.796 11.417 8.38 11.5 8 11.5C7.817 11.5 7.507 11.452 7.07 11.356C6.839 11.305 6.669 11.272 6.558 11.257L6.759 9ZM8.5 8.296L8.5 7.251L10.756 7.05C10.771 7.158 10.804 7.33 10.855 7.566C10.952 8.009 11 8.32 11 8.5C11 8.66 10.95 8.933 10.849 9.319C10.736 9.752 10.62 10.062 10.5 10.25C10.496 10.257 10.492 10.263 10.488 10.269L8.5 8.296ZM8.5 6.247L8.5 5.5C8.5 5.466 8.512 5.382 8.537 5.246C8.566 5.089 8.601 4.928 8.642 4.762C8.756 4.294 8.876 3.957 9 3.75C9.259 3.32 9.593 2.986 10 2.75C10.179 2.646 10.393 2.555 10.64 2.476C10.787 2.429 11.009 2.37 11.304 2.298L11.5 2.25C11.564 2.234 11.668 2.211 11.814 2.179C12.142 2.109 12.371 2.049 12.501 2C12.59 1.966 12.707 1.892 12.854 1.778C12.972 1.686 13.066 1.622 13.135 1.587C13.25 1.529 13.371 1.5 13.5 1.5C13.773 1.5 14.007 1.599 14.204 1.796C14.401 1.993 14.5 2.227 14.5 2.5C14.5 2.84 14.325 3.153 13.975 3.439C13.751 3.621 13.426 3.809 13 4C12.767 4.105 12.409 4.228 11.928 4.37C11.738 4.426 11.596 4.47 11.5 4.5C11.184 4.6 10.952 4.712 10.805 4.833C10.602 5.002 10.5 5.224 10.5 5.5C10.5 5.572 10.528 5.759 10.584 6.061L8.5 6.247Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

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

### Android XML

```xml
<!-- res/drawable/ic_worm.xml · Gentleface "worm" (line-round), MIT. https://gentleface.com/icons/worm -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="16dp"
    android:height="16dp"
    android:viewportWidth="16"
    android:viewportHeight="16"
    android:tint="?attr/colorControlNormal">
  <path
      android:fillColor="@android:color/white"
      android:pathData="M2.343 12.906C2.268 12.814 2.232 12.695 2.244 12.577C2.247 12.55 2.249 12.525 2.25 12.501C2.253 12.417 2.256 12.29 2.259 12.12L2.259 12.119C2.266 11.751 2.28 11.475 2.301 11.293C2.336 10.988 2.402 10.723 2.5 10.5C2.635 10.191 2.802 9.941 3 9.75C3.095 9.658 3.214 9.564 3.357 9.468C3.503 9.371 3.633 9.298 3.749 9.25C4.153 9.083 4.57 9 5 9L5.756 9L5.569 11.085C5.263 11.028 5.073 11 5 11C4.723 11 4.465 11.088 4.226 11.263C4.075 11.374 3.917 11.536 3.75 11.75C3.635 11.898 3.517 12.075 3.395 12.281C3.324 12.402 3.222 12.587 3.089 12.835C3.003 12.995 2.828 13.088 2.647 13.07C2.528 13.058 2.419 12.999 2.343 12.906ZM6.759 9L7.791 9L9.777 10.973C9.603 11.092 9.428 11.185 9.25 11.25C8.796 11.417 8.38 11.5 8 11.5C7.817 11.5 7.507 11.452 7.07 11.356C6.839 11.305 6.669 11.272 6.558 11.257L6.759 9ZM8.5 8.296L8.5 7.251L10.756 7.05C10.771 7.158 10.804 7.33 10.855 7.566C10.952 8.009 11 8.32 11 8.5C11 8.66 10.95 8.933 10.849 9.319C10.736 9.752 10.62 10.062 10.5 10.25C10.496 10.257 10.492 10.263 10.488 10.269L8.5 8.296ZM8.5 6.247L8.5 5.5C8.5 5.466 8.512 5.382 8.537 5.246C8.566 5.089 8.601 4.928 8.642 4.762C8.756 4.294 8.876 3.957 9 3.75C9.259 3.32 9.593 2.986 10 2.75C10.179 2.646 10.393 2.555 10.64 2.476C10.787 2.429 11.009 2.37 11.304 2.298L11.5 2.25C11.564 2.234 11.668 2.211 11.814 2.179C12.142 2.109 12.371 2.049 12.501 2C12.59 1.966 12.707 1.892 12.854 1.778C12.972 1.686 13.066 1.622 13.135 1.587C13.25 1.529 13.371 1.5 13.5 1.5C13.773 1.5 14.007 1.599 14.204 1.796C14.401 1.993 14.5 2.227 14.5 2.5C14.5 2.84 14.325 3.153 13.975 3.439C13.751 3.621 13.426 3.809 13 4C12.767 4.105 12.409 4.228 11.928 4.37C11.738 4.426 11.596 4.47 11.5 4.5C11.184 4.6 10.952 4.712 10.805 4.833C10.602 5.002 10.5 5.224 10.5 5.5C10.5 5.572 10.528 5.759 10.584 6.061L8.5 6.247Z"/>
</vector>
```

### Flutter

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

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

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

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

  @override
  void paint(Canvas canvas, Size size) {
    canvas.scale(size.width / 16, size.height / 16);
    final p = Path()
      ..moveTo(2.343, 12.906)
      ..cubicTo(2.268, 12.814, 2.232, 12.695, 2.244, 12.577)
      ..cubicTo(2.247, 12.55, 2.249, 12.525, 2.25, 12.501)
      ..cubicTo(2.253, 12.417, 2.256, 12.29, 2.259, 12.12)
      ..lineTo(2.259, 12.119)
      ..cubicTo(2.266, 11.751, 2.28, 11.475, 2.301, 11.293)
      ..cubicTo(2.336, 10.988, 2.402, 10.723, 2.5, 10.5)
      ..cubicTo(2.635, 10.191, 2.802, 9.941, 3, 9.75)
      ..cubicTo(3.095, 9.658, 3.214, 9.564, 3.357, 9.468)
      ..cubicTo(3.503, 9.371, 3.633, 9.298, 3.749, 9.25)
      ..cubicTo(4.153, 9.083, 4.57, 9, 5, 9)
      ..lineTo(5.756, 9)
      ..lineTo(5.569, 11.085)
      ..cubicTo(5.263, 11.028, 5.073, 11, 5, 11)
      ..cubicTo(4.723, 11, 4.465, 11.088, 4.226, 11.263)
      ..cubicTo(4.075, 11.374, 3.917, 11.536, 3.75, 11.75)
      ..cubicTo(3.635, 11.898, 3.517, 12.075, 3.395, 12.281)
      ..cubicTo(3.324, 12.402, 3.222, 12.587, 3.089, 12.835)
      ..cubicTo(3.003, 12.995, 2.828, 13.088, 2.647, 13.07)
      ..cubicTo(2.528, 13.058, 2.419, 12.999, 2.343, 12.906)
      ..close()
      ..moveTo(6.759, 9)
      ..lineTo(7.791, 9)
      ..lineTo(9.777, 10.973)
      ..cubicTo(9.603, 11.092, 9.428, 11.185, 9.25, 11.25)
      ..cubicTo(8.796, 11.417, 8.38, 11.5, 8, 11.5)
      ..cubicTo(7.817, 11.5, 7.507, 11.452, 7.07, 11.356)
      ..cubicTo(6.839, 11.305, 6.669, 11.272, 6.558, 11.257)
      ..lineTo(6.759, 9)
      ..close()
      ..moveTo(8.5, 8.296)
      ..lineTo(8.5, 7.251)
      ..lineTo(10.756, 7.05)
      ..cubicTo(10.771, 7.158, 10.804, 7.33, 10.855, 7.566)
      ..cubicTo(10.952, 8.009, 11, 8.32, 11, 8.5)
      ..cubicTo(11, 8.66, 10.95, 8.933, 10.849, 9.319)
      ..cubicTo(10.736, 9.752, 10.62, 10.062, 10.5, 10.25)
      ..cubicTo(10.496, 10.257, 10.492, 10.263, 10.488, 10.269)
      ..lineTo(8.5, 8.296)
      ..close()
      ..moveTo(8.5, 6.247)
      ..lineTo(8.5, 5.5)
      ..cubicTo(8.5, 5.466, 8.512, 5.382, 8.537, 5.246)
      ..cubicTo(8.566, 5.089, 8.601, 4.928, 8.642, 4.762)
      ..cubicTo(8.756, 4.294, 8.876, 3.957, 9, 3.75)
      ..cubicTo(9.259, 3.32, 9.593, 2.986, 10, 2.75)
      ..cubicTo(10.179, 2.646, 10.393, 2.555, 10.64, 2.476)
      ..cubicTo(10.787, 2.429, 11.009, 2.37, 11.304, 2.298)
      ..lineTo(11.5, 2.25)
      ..cubicTo(11.564, 2.234, 11.668, 2.211, 11.814, 2.179)
      ..cubicTo(12.142, 2.109, 12.371, 2.049, 12.501, 2)
      ..cubicTo(12.59, 1.966, 12.707, 1.892, 12.854, 1.778)
      ..cubicTo(12.972, 1.686, 13.066, 1.622, 13.135, 1.587)
      ..cubicTo(13.25, 1.529, 13.371, 1.5, 13.5, 1.5)
      ..cubicTo(13.773, 1.5, 14.007, 1.599, 14.204, 1.796)
      ..cubicTo(14.401, 1.993, 14.5, 2.227, 14.5, 2.5)
      ..cubicTo(14.5, 2.84, 14.325, 3.153, 13.975, 3.439)
      ..cubicTo(13.751, 3.621, 13.426, 3.809, 13, 4)
      ..cubicTo(12.767, 4.105, 12.409, 4.228, 11.928, 4.37)
      ..cubicTo(11.738, 4.426, 11.596, 4.47, 11.5, 4.5)
      ..cubicTo(11.184, 4.6, 10.952, 4.712, 10.805, 4.833)
      ..cubicTo(10.602, 5.002, 10.5, 5.224, 10.5, 5.5)
      ..cubicTo(10.5, 5.572, 10.528, 5.759, 10.584, 6.061)
      ..lineTo(8.5, 6.247)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

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