# magnet icon

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

- Category: Design
- Use it for: magnet, snap, attract, magnetism, snapping, snap to grid
- Tags: magnet, snap, attract, magnetic, snapping, grid
- Component name: MagnetIcon
- Added: 2026-10-14

## 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/magnet.svg · PNG https://gentleface.com/png/line-round/16/magnet.png · https://gentleface.com/png/line-round/32/magnet.png · https://gentleface.com/png/line-round/48/magnet.png
- line-soft: https://gentleface.com/svg/line-soft/16/magnet.svg · PNG https://gentleface.com/png/line-soft/16/magnet.png · https://gentleface.com/png/line-soft/32/magnet.png · https://gentleface.com/png/line-soft/48/magnet.png
- line-sharp: https://gentleface.com/svg/line-sharp/16/magnet.svg · PNG https://gentleface.com/png/line-sharp/16/magnet.png · https://gentleface.com/png/line-sharp/32/magnet.png · https://gentleface.com/png/line-sharp/48/magnet.png
- solid-round: https://gentleface.com/svg/solid-round/16/magnet.svg · PNG https://gentleface.com/png/solid-round/16/magnet.png · https://gentleface.com/png/solid-round/32/magnet.png · https://gentleface.com/png/solid-round/48/magnet.png
- solid-soft: https://gentleface.com/svg/solid-soft/16/magnet.svg · PNG https://gentleface.com/png/solid-soft/16/magnet.png · https://gentleface.com/png/solid-soft/32/magnet.png · https://gentleface.com/png/solid-soft/48/magnet.png
- solid-sharp: https://gentleface.com/svg/solid-sharp/16/magnet.svg · PNG https://gentleface.com/png/solid-sharp/16/magnet.png · https://gentleface.com/png/solid-sharp/32/magnet.png · https://gentleface.com/png/solid-sharp/48/magnet.png

The SVG of every style: https://gentleface.com/icons/magnet.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="M6.14 8.736C6.242 8.993 6.391 9.219 6.586 9.414C6.781 9.609 7.007 9.758 7.264 9.86C7.5 9.953 7.746 10 8 10C8.254 10 8.5 9.953 8.736 9.86C8.993 9.758 9.219 9.609 9.414 9.414C9.609 9.219 9.758 8.993 9.86 8.736C9.953 8.5 10 8.254 10 8L10 4C10 3.746 10.047 3.5 10.14 3.264C10.242 3.007 10.391 2.781 10.586 2.586C10.781 2.391 11.007 2.242 11.264 2.14C11.5 2.047 11.746 2 12 2C12.254 2 12.5 2.047 12.736 2.14C12.993 2.242 13.219 2.391 13.414 2.586C13.609 2.781 13.758 3.007 13.86 3.264C13.953 3.5 14 3.746 14 4L14 8C14 8.763 13.86 9.499 13.579 10.209C13.274 10.979 12.828 11.657 12.243 12.243C11.657 12.828 10.979 13.274 10.209 13.579C9.499 13.86 8.763 14 8 14C7.237 14 6.501 13.86 5.791 13.579C5.021 13.274 4.343 12.828 3.757 12.243C3.172 11.657 2.726 10.979 2.421 10.209C2.14 9.499 2 8.763 2 8L2 4C2 3.746 2.047 3.5 2.14 3.264C2.242 3.007 2.391 2.781 2.586 2.586C2.781 2.391 3.007 2.242 3.264 2.14C3.5 2.047 3.746 2 4 2C4.254 2 4.5 2.047 4.736 2.14C4.993 2.242 5.219 2.391 5.414 2.586C5.609 2.781 5.758 3.007 5.86 3.264C5.953 3.5 6 3.746 6 4L6 8C6 8.254 6.047 8.5 6.14 8.736ZM4.707 3.293C4.512 3.098 4.276 3 4 3C3.724 3 3.488 3.098 3.293 3.293C3.098 3.488 3 3.724 3 4L3 5L5 5L5 4C5 3.724 4.902 3.488 4.707 3.293ZM12.707 3.293C12.512 3.098 12.276 3 12 3C11.724 3 11.488 3.098 11.293 3.293C11.098 3.488 11 3.724 11 4L11 5L13 5L13 4C13 3.724 12.902 3.488 12.707 3.293ZM11 6L11 8C11 8.381 10.93 8.75 10.789 9.104C10.637 9.489 10.414 9.828 10.121 10.121C9.828 10.414 9.489 10.637 9.104 10.789C8.75 10.93 8.381 11 8 11C7.619 11 7.25 10.93 6.896 10.789C6.511 10.637 6.172 10.414 5.879 10.121C5.586 9.828 5.363 9.489 5.211 9.104C5.07 8.75 5 8.381 5 8L5 6L3 6L3 8C3 8.636 3.117 9.249 3.351 9.84C3.605 10.482 3.976 11.047 4.464 11.536C4.953 12.024 5.518 12.395 6.16 12.649C6.751 12.883 7.364 13 8 13C8.636 13 9.249 12.883 9.84 12.649C10.482 12.395 11.047 12.024 11.536 11.536C12.024 11.047 12.395 10.482 12.649 9.84C12.883 9.249 13 8.636 13 8L13 6L11 6Z"/></svg>
```

### React

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

export function MagnetIcon(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="M6.14 8.736C6.242 8.993 6.391 9.219 6.586 9.414C6.781 9.609 7.007 9.758 7.264 9.86C7.5 9.953 7.746 10 8 10C8.254 10 8.5 9.953 8.736 9.86C8.993 9.758 9.219 9.609 9.414 9.414C9.609 9.219 9.758 8.993 9.86 8.736C9.953 8.5 10 8.254 10 8L10 4C10 3.746 10.047 3.5 10.14 3.264C10.242 3.007 10.391 2.781 10.586 2.586C10.781 2.391 11.007 2.242 11.264 2.14C11.5 2.047 11.746 2 12 2C12.254 2 12.5 2.047 12.736 2.14C12.993 2.242 13.219 2.391 13.414 2.586C13.609 2.781 13.758 3.007 13.86 3.264C13.953 3.5 14 3.746 14 4L14 8C14 8.763 13.86 9.499 13.579 10.209C13.274 10.979 12.828 11.657 12.243 12.243C11.657 12.828 10.979 13.274 10.209 13.579C9.499 13.86 8.763 14 8 14C7.237 14 6.501 13.86 5.791 13.579C5.021 13.274 4.343 12.828 3.757 12.243C3.172 11.657 2.726 10.979 2.421 10.209C2.14 9.499 2 8.763 2 8L2 4C2 3.746 2.047 3.5 2.14 3.264C2.242 3.007 2.391 2.781 2.586 2.586C2.781 2.391 3.007 2.242 3.264 2.14C3.5 2.047 3.746 2 4 2C4.254 2 4.5 2.047 4.736 2.14C4.993 2.242 5.219 2.391 5.414 2.586C5.609 2.781 5.758 3.007 5.86 3.264C5.953 3.5 6 3.746 6 4L6 8C6 8.254 6.047 8.5 6.14 8.736ZM4.707 3.293C4.512 3.098 4.276 3 4 3C3.724 3 3.488 3.098 3.293 3.293C3.098 3.488 3 3.724 3 4L3 5L5 5L5 4C5 3.724 4.902 3.488 4.707 3.293ZM12.707 3.293C12.512 3.098 12.276 3 12 3C11.724 3 11.488 3.098 11.293 3.293C11.098 3.488 11 3.724 11 4L11 5L13 5L13 4C13 3.724 12.902 3.488 12.707 3.293ZM11 6L11 8C11 8.381 10.93 8.75 10.789 9.104C10.637 9.489 10.414 9.828 10.121 10.121C9.828 10.414 9.489 10.637 9.104 10.789C8.75 10.93 8.381 11 8 11C7.619 11 7.25 10.93 6.896 10.789C6.511 10.637 6.172 10.414 5.879 10.121C5.586 9.828 5.363 9.489 5.211 9.104C5.07 8.75 5 8.381 5 8L5 6L3 6L3 8C3 8.636 3.117 9.249 3.351 9.84C3.605 10.482 3.976 11.047 4.464 11.536C4.953 12.024 5.518 12.395 6.16 12.649C6.751 12.883 7.364 13 8 13C8.636 13 9.249 12.883 9.84 12.649C10.482 12.395 11.047 12.024 11.536 11.536C12.024 11.047 12.395 10.482 12.649 9.84C12.883 9.249 13 8.636 13 8L13 6L11 6Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "magnet" (line-round), MIT. https://gentleface.com/icons/magnet -->
<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="M6.14 8.736C6.242 8.993 6.391 9.219 6.586 9.414C6.781 9.609 7.007 9.758 7.264 9.86C7.5 9.953 7.746 10 8 10C8.254 10 8.5 9.953 8.736 9.86C8.993 9.758 9.219 9.609 9.414 9.414C9.609 9.219 9.758 8.993 9.86 8.736C9.953 8.5 10 8.254 10 8L10 4C10 3.746 10.047 3.5 10.14 3.264C10.242 3.007 10.391 2.781 10.586 2.586C10.781 2.391 11.007 2.242 11.264 2.14C11.5 2.047 11.746 2 12 2C12.254 2 12.5 2.047 12.736 2.14C12.993 2.242 13.219 2.391 13.414 2.586C13.609 2.781 13.758 3.007 13.86 3.264C13.953 3.5 14 3.746 14 4L14 8C14 8.763 13.86 9.499 13.579 10.209C13.274 10.979 12.828 11.657 12.243 12.243C11.657 12.828 10.979 13.274 10.209 13.579C9.499 13.86 8.763 14 8 14C7.237 14 6.501 13.86 5.791 13.579C5.021 13.274 4.343 12.828 3.757 12.243C3.172 11.657 2.726 10.979 2.421 10.209C2.14 9.499 2 8.763 2 8L2 4C2 3.746 2.047 3.5 2.14 3.264C2.242 3.007 2.391 2.781 2.586 2.586C2.781 2.391 3.007 2.242 3.264 2.14C3.5 2.047 3.746 2 4 2C4.254 2 4.5 2.047 4.736 2.14C4.993 2.242 5.219 2.391 5.414 2.586C5.609 2.781 5.758 3.007 5.86 3.264C5.953 3.5 6 3.746 6 4L6 8C6 8.254 6.047 8.5 6.14 8.736ZM4.707 3.293C4.512 3.098 4.276 3 4 3C3.724 3 3.488 3.098 3.293 3.293C3.098 3.488 3 3.724 3 4L3 5L5 5L5 4C5 3.724 4.902 3.488 4.707 3.293ZM12.707 3.293C12.512 3.098 12.276 3 12 3C11.724 3 11.488 3.098 11.293 3.293C11.098 3.488 11 3.724 11 4L11 5L13 5L13 4C13 3.724 12.902 3.488 12.707 3.293ZM11 6L11 8C11 8.381 10.93 8.75 10.789 9.104C10.637 9.489 10.414 9.828 10.121 10.121C9.828 10.414 9.489 10.637 9.104 10.789C8.75 10.93 8.381 11 8 11C7.619 11 7.25 10.93 6.896 10.789C6.511 10.637 6.172 10.414 5.879 10.121C5.586 9.828 5.363 9.489 5.211 9.104C5.07 8.75 5 8.381 5 8L5 6L3 6L3 8C3 8.636 3.117 9.249 3.351 9.84C3.605 10.482 3.976 11.047 4.464 11.536C4.953 12.024 5.518 12.395 6.16 12.649C6.751 12.883 7.364 13 8 13C8.636 13 9.249 12.883 9.84 12.649C10.482 12.395 11.047 12.024 11.536 11.536C12.024 11.047 12.395 10.482 12.649 9.84C12.883 9.249 13 8.636 13 8L13 6L11 6Z" />
  </svg>
</template>
```

### Svelte

```svelte
<!-- Gentleface "magnet" (line-round), MIT. https://gentleface.com/icons/magnet -->
<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="M6.14 8.736C6.242 8.993 6.391 9.219 6.586 9.414C6.781 9.609 7.007 9.758 7.264 9.86C7.5 9.953 7.746 10 8 10C8.254 10 8.5 9.953 8.736 9.86C8.993 9.758 9.219 9.609 9.414 9.414C9.609 9.219 9.758 8.993 9.86 8.736C9.953 8.5 10 8.254 10 8L10 4C10 3.746 10.047 3.5 10.14 3.264C10.242 3.007 10.391 2.781 10.586 2.586C10.781 2.391 11.007 2.242 11.264 2.14C11.5 2.047 11.746 2 12 2C12.254 2 12.5 2.047 12.736 2.14C12.993 2.242 13.219 2.391 13.414 2.586C13.609 2.781 13.758 3.007 13.86 3.264C13.953 3.5 14 3.746 14 4L14 8C14 8.763 13.86 9.499 13.579 10.209C13.274 10.979 12.828 11.657 12.243 12.243C11.657 12.828 10.979 13.274 10.209 13.579C9.499 13.86 8.763 14 8 14C7.237 14 6.501 13.86 5.791 13.579C5.021 13.274 4.343 12.828 3.757 12.243C3.172 11.657 2.726 10.979 2.421 10.209C2.14 9.499 2 8.763 2 8L2 4C2 3.746 2.047 3.5 2.14 3.264C2.242 3.007 2.391 2.781 2.586 2.586C2.781 2.391 3.007 2.242 3.264 2.14C3.5 2.047 3.746 2 4 2C4.254 2 4.5 2.047 4.736 2.14C4.993 2.242 5.219 2.391 5.414 2.586C5.609 2.781 5.758 3.007 5.86 3.264C5.953 3.5 6 3.746 6 4L6 8C6 8.254 6.047 8.5 6.14 8.736ZM4.707 3.293C4.512 3.098 4.276 3 4 3C3.724 3 3.488 3.098 3.293 3.293C3.098 3.488 3 3.724 3 4L3 5L5 5L5 4C5 3.724 4.902 3.488 4.707 3.293ZM12.707 3.293C12.512 3.098 12.276 3 12 3C11.724 3 11.488 3.098 11.293 3.293C11.098 3.488 11 3.724 11 4L11 5L13 5L13 4C13 3.724 12.902 3.488 12.707 3.293ZM11 6L11 8C11 8.381 10.93 8.75 10.789 9.104C10.637 9.489 10.414 9.828 10.121 10.121C9.828 10.414 9.489 10.637 9.104 10.789C8.75 10.93 8.381 11 8 11C7.619 11 7.25 10.93 6.896 10.789C6.511 10.637 6.172 10.414 5.879 10.121C5.586 9.828 5.363 9.489 5.211 9.104C5.07 8.75 5 8.381 5 8L5 6L3 6L3 8C3 8.636 3.117 9.249 3.351 9.84C3.605 10.482 3.976 11.047 4.464 11.536C4.953 12.024 5.518 12.395 6.16 12.649C6.751 12.883 7.364 13 8 13C8.636 13 9.249 12.883 9.84 12.649C10.482 12.395 11.047 12.024 11.536 11.536C12.024 11.047 12.395 10.482 12.649 9.84C12.883 9.249 13 8.636 13 8L13 6L11 6Z" />
</svg>
```

### HTML img

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

### CSS

```css
/* Gentleface "magnet" (line-round), MIT. https://gentleface.com/icons/magnet. Takes the text color. */
.icon-magnet {
  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='M6.14 8.736C6.242 8.993 6.391 9.219 6.586 9.414C6.781 9.609 7.007 9.758 7.264 9.86C7.5 9.953 7.746 10 8 10C8.254 10 8.5 9.953 8.736 9.86C8.993 9.758 9.219 9.609 9.414 9.414C9.609 9.219 9.758 8.993 9.86 8.736C9.953 8.5 10 8.254 10 8L10 4C10 3.746 10.047 3.5 10.14 3.264C10.242 3.007 10.391 2.781 10.586 2.586C10.781 2.391 11.007 2.242 11.264 2.14C11.5 2.047 11.746 2 12 2C12.254 2 12.5 2.047 12.736 2.14C12.993 2.242 13.219 2.391 13.414 2.586C13.609 2.781 13.758 3.007 13.86 3.264C13.953 3.5 14 3.746 14 4L14 8C14 8.763 13.86 9.499 13.579 10.209C13.274 10.979 12.828 11.657 12.243 12.243C11.657 12.828 10.979 13.274 10.209 13.579C9.499 13.86 8.763 14 8 14C7.237 14 6.501 13.86 5.791 13.579C5.021 13.274 4.343 12.828 3.757 12.243C3.172 11.657 2.726 10.979 2.421 10.209C2.14 9.499 2 8.763 2 8L2 4C2 3.746 2.047 3.5 2.14 3.264C2.242 3.007 2.391 2.781 2.586 2.586C2.781 2.391 3.007 2.242 3.264 2.14C3.5 2.047 3.746 2 4 2C4.254 2 4.5 2.047 4.736 2.14C4.993 2.242 5.219 2.391 5.414 2.586C5.609 2.781 5.758 3.007 5.86 3.264C5.953 3.5 6 3.746 6 4L6 8C6 8.254 6.047 8.5 6.14 8.736ZM4.707 3.293C4.512 3.098 4.276 3 4 3C3.724 3 3.488 3.098 3.293 3.293C3.098 3.488 3 3.724 3 4L3 5L5 5L5 4C5 3.724 4.902 3.488 4.707 3.293ZM12.707 3.293C12.512 3.098 12.276 3 12 3C11.724 3 11.488 3.098 11.293 3.293C11.098 3.488 11 3.724 11 4L11 5L13 5L13 4C13 3.724 12.902 3.488 12.707 3.293ZM11 6L11 8C11 8.381 10.93 8.75 10.789 9.104C10.637 9.489 10.414 9.828 10.121 10.121C9.828 10.414 9.489 10.637 9.104 10.789C8.75 10.93 8.381 11 8 11C7.619 11 7.25 10.93 6.896 10.789C6.511 10.637 6.172 10.414 5.879 10.121C5.586 9.828 5.363 9.489 5.211 9.104C5.07 8.75 5 8.381 5 8L5 6L3 6L3 8C3 8.636 3.117 9.249 3.351 9.84C3.605 10.482 3.976 11.047 4.464 11.536C4.953 12.024 5.518 12.395 6.16 12.649C6.751 12.883 7.364 13 8 13C8.636 13 9.249 12.883 9.84 12.649C10.482 12.395 11.047 12.024 11.536 11.536C12.024 11.047 12.395 10.482 12.649 9.84C12.883 9.249 13 8.636 13 8L13 6L11 6Z'/%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='M6.14 8.736C6.242 8.993 6.391 9.219 6.586 9.414C6.781 9.609 7.007 9.758 7.264 9.86C7.5 9.953 7.746 10 8 10C8.254 10 8.5 9.953 8.736 9.86C8.993 9.758 9.219 9.609 9.414 9.414C9.609 9.219 9.758 8.993 9.86 8.736C9.953 8.5 10 8.254 10 8L10 4C10 3.746 10.047 3.5 10.14 3.264C10.242 3.007 10.391 2.781 10.586 2.586C10.781 2.391 11.007 2.242 11.264 2.14C11.5 2.047 11.746 2 12 2C12.254 2 12.5 2.047 12.736 2.14C12.993 2.242 13.219 2.391 13.414 2.586C13.609 2.781 13.758 3.007 13.86 3.264C13.953 3.5 14 3.746 14 4L14 8C14 8.763 13.86 9.499 13.579 10.209C13.274 10.979 12.828 11.657 12.243 12.243C11.657 12.828 10.979 13.274 10.209 13.579C9.499 13.86 8.763 14 8 14C7.237 14 6.501 13.86 5.791 13.579C5.021 13.274 4.343 12.828 3.757 12.243C3.172 11.657 2.726 10.979 2.421 10.209C2.14 9.499 2 8.763 2 8L2 4C2 3.746 2.047 3.5 2.14 3.264C2.242 3.007 2.391 2.781 2.586 2.586C2.781 2.391 3.007 2.242 3.264 2.14C3.5 2.047 3.746 2 4 2C4.254 2 4.5 2.047 4.736 2.14C4.993 2.242 5.219 2.391 5.414 2.586C5.609 2.781 5.758 3.007 5.86 3.264C5.953 3.5 6 3.746 6 4L6 8C6 8.254 6.047 8.5 6.14 8.736ZM4.707 3.293C4.512 3.098 4.276 3 4 3C3.724 3 3.488 3.098 3.293 3.293C3.098 3.488 3 3.724 3 4L3 5L5 5L5 4C5 3.724 4.902 3.488 4.707 3.293ZM12.707 3.293C12.512 3.098 12.276 3 12 3C11.724 3 11.488 3.098 11.293 3.293C11.098 3.488 11 3.724 11 4L11 5L13 5L13 4C13 3.724 12.902 3.488 12.707 3.293ZM11 6L11 8C11 8.381 10.93 8.75 10.789 9.104C10.637 9.489 10.414 9.828 10.121 10.121C9.828 10.414 9.489 10.637 9.104 10.789C8.75 10.93 8.381 11 8 11C7.619 11 7.25 10.93 6.896 10.789C6.511 10.637 6.172 10.414 5.879 10.121C5.586 9.828 5.363 9.489 5.211 9.104C5.07 8.75 5 8.381 5 8L5 6L3 6L3 8C3 8.636 3.117 9.249 3.351 9.84C3.605 10.482 3.976 11.047 4.464 11.536C4.953 12.024 5.518 12.395 6.16 12.649C6.751 12.883 7.364 13 8 13C8.636 13 9.249 12.883 9.84 12.649C10.482 12.395 11.047 12.024 11.536 11.536C12.024 11.047 12.395 10.482 12.649 9.84C12.883 9.249 13 8.636 13 8L13 6L11 6Z'/%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='M6.14 8.736C6.242 8.993 6.391 9.219 6.586 9.414C6.781 9.609 7.007 9.758 7.264 9.86C7.5 9.953 7.746 10 8 10C8.254 10 8.5 9.953 8.736 9.86C8.993 9.758 9.219 9.609 9.414 9.414C9.609 9.219 9.758 8.993 9.86 8.736C9.953 8.5 10 8.254 10 8L10 4C10 3.746 10.047 3.5 10.14 3.264C10.242 3.007 10.391 2.781 10.586 2.586C10.781 2.391 11.007 2.242 11.264 2.14C11.5 2.047 11.746 2 12 2C12.254 2 12.5 2.047 12.736 2.14C12.993 2.242 13.219 2.391 13.414 2.586C13.609 2.781 13.758 3.007 13.86 3.264C13.953 3.5 14 3.746 14 4L14 8C14 8.763 13.86 9.499 13.579 10.209C13.274 10.979 12.828 11.657 12.243 12.243C11.657 12.828 10.979 13.274 10.209 13.579C9.499 13.86 8.763 14 8 14C7.237 14 6.501 13.86 5.791 13.579C5.021 13.274 4.343 12.828 3.757 12.243C3.172 11.657 2.726 10.979 2.421 10.209C2.14 9.499 2 8.763 2 8L2 4C2 3.746 2.047 3.5 2.14 3.264C2.242 3.007 2.391 2.781 2.586 2.586C2.781 2.391 3.007 2.242 3.264 2.14C3.5 2.047 3.746 2 4 2C4.254 2 4.5 2.047 4.736 2.14C4.993 2.242 5.219 2.391 5.414 2.586C5.609 2.781 5.758 3.007 5.86 3.264C5.953 3.5 6 3.746 6 4L6 8C6 8.254 6.047 8.5 6.14 8.736ZM4.707 3.293C4.512 3.098 4.276 3 4 3C3.724 3 3.488 3.098 3.293 3.293C3.098 3.488 3 3.724 3 4L3 5L5 5L5 4C5 3.724 4.902 3.488 4.707 3.293ZM12.707 3.293C12.512 3.098 12.276 3 12 3C11.724 3 11.488 3.098 11.293 3.293C11.098 3.488 11 3.724 11 4L11 5L13 5L13 4C13 3.724 12.902 3.488 12.707 3.293ZM11 6L11 8C11 8.381 10.93 8.75 10.789 9.104C10.637 9.489 10.414 9.828 10.121 10.121C9.828 10.414 9.489 10.637 9.104 10.789C8.75 10.93 8.381 11 8 11C7.619 11 7.25 10.93 6.896 10.789C6.511 10.637 6.172 10.414 5.879 10.121C5.586 9.828 5.363 9.489 5.211 9.104C5.07 8.75 5 8.381 5 8L5 6L3 6L3 8C3 8.636 3.117 9.249 3.351 9.84C3.605 10.482 3.976 11.047 4.464 11.536C4.953 12.024 5.518 12.395 6.16 12.649C6.751 12.883 7.364 13 8 13C8.636 13 9.249 12.883 9.84 12.649C10.482 12.395 11.047 12.024 11.536 11.536C12.024 11.047 12.395 10.482 12.649 9.84C12.883 9.249 13 8.636 13 8L13 6L11 6Z'/%3E%3C/svg%3E
```

### Sprite

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

### SwiftUI

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

struct MagnetIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 6.14, y: 8.736))
        p.addCurve(to: CGPoint(x: 6.586, y: 9.414), control1: CGPoint(x: 6.242, y: 8.993), control2: CGPoint(x: 6.391, y: 9.219))
        p.addCurve(to: CGPoint(x: 7.264, y: 9.86), control1: CGPoint(x: 6.781, y: 9.609), control2: CGPoint(x: 7.007, y: 9.758))
        p.addCurve(to: CGPoint(x: 8, y: 10), control1: CGPoint(x: 7.5, y: 9.953), control2: CGPoint(x: 7.746, y: 10))
        p.addCurve(to: CGPoint(x: 8.736, y: 9.86), control1: CGPoint(x: 8.254, y: 10), control2: CGPoint(x: 8.5, y: 9.953))
        p.addCurve(to: CGPoint(x: 9.414, y: 9.414), control1: CGPoint(x: 8.993, y: 9.758), control2: CGPoint(x: 9.219, y: 9.609))
        p.addCurve(to: CGPoint(x: 9.86, y: 8.736), control1: CGPoint(x: 9.609, y: 9.219), control2: CGPoint(x: 9.758, y: 8.993))
        p.addCurve(to: CGPoint(x: 10, y: 8), control1: CGPoint(x: 9.953, y: 8.5), control2: CGPoint(x: 10, y: 8.254))
        p.addLine(to: CGPoint(x: 10, y: 4))
        p.addCurve(to: CGPoint(x: 10.14, y: 3.264), control1: CGPoint(x: 10, y: 3.746), control2: CGPoint(x: 10.047, y: 3.5))
        p.addCurve(to: CGPoint(x: 10.586, y: 2.586), control1: CGPoint(x: 10.242, y: 3.007), control2: CGPoint(x: 10.391, y: 2.781))
        p.addCurve(to: CGPoint(x: 11.264, y: 2.14), control1: CGPoint(x: 10.781, y: 2.391), control2: CGPoint(x: 11.007, y: 2.242))
        p.addCurve(to: CGPoint(x: 12, y: 2), control1: CGPoint(x: 11.5, y: 2.047), control2: CGPoint(x: 11.746, y: 2))
        p.addCurve(to: CGPoint(x: 12.736, y: 2.14), control1: CGPoint(x: 12.254, y: 2), control2: CGPoint(x: 12.5, y: 2.047))
        p.addCurve(to: CGPoint(x: 13.414, y: 2.586), control1: CGPoint(x: 12.993, y: 2.242), control2: CGPoint(x: 13.219, y: 2.391))
        p.addCurve(to: CGPoint(x: 13.86, y: 3.264), control1: CGPoint(x: 13.609, y: 2.781), control2: CGPoint(x: 13.758, y: 3.007))
        p.addCurve(to: CGPoint(x: 14, y: 4), control1: CGPoint(x: 13.953, y: 3.5), control2: CGPoint(x: 14, y: 3.746))
        p.addLine(to: CGPoint(x: 14, y: 8))
        p.addCurve(to: CGPoint(x: 13.579, y: 10.209), control1: CGPoint(x: 14, y: 8.763), control2: CGPoint(x: 13.86, y: 9.499))
        p.addCurve(to: CGPoint(x: 12.243, y: 12.243), control1: CGPoint(x: 13.274, y: 10.979), control2: CGPoint(x: 12.828, y: 11.657))
        p.addCurve(to: CGPoint(x: 10.209, y: 13.579), control1: CGPoint(x: 11.657, y: 12.828), control2: CGPoint(x: 10.979, y: 13.274))
        p.addCurve(to: CGPoint(x: 8, y: 14), control1: CGPoint(x: 9.499, y: 13.86), control2: CGPoint(x: 8.763, y: 14))
        p.addCurve(to: CGPoint(x: 5.791, y: 13.579), control1: CGPoint(x: 7.237, y: 14), control2: CGPoint(x: 6.501, y: 13.86))
        p.addCurve(to: CGPoint(x: 3.757, y: 12.243), control1: CGPoint(x: 5.021, y: 13.274), control2: CGPoint(x: 4.343, y: 12.828))
        p.addCurve(to: CGPoint(x: 2.421, y: 10.209), control1: CGPoint(x: 3.172, y: 11.657), control2: CGPoint(x: 2.726, y: 10.979))
        p.addCurve(to: CGPoint(x: 2, y: 8), control1: CGPoint(x: 2.14, y: 9.499), control2: CGPoint(x: 2, y: 8.763))
        p.addLine(to: CGPoint(x: 2, y: 4))
        p.addCurve(to: CGPoint(x: 2.14, y: 3.264), control1: CGPoint(x: 2, y: 3.746), control2: CGPoint(x: 2.047, y: 3.5))
        p.addCurve(to: CGPoint(x: 2.586, y: 2.586), control1: CGPoint(x: 2.242, y: 3.007), control2: CGPoint(x: 2.391, y: 2.781))
        p.addCurve(to: CGPoint(x: 3.264, y: 2.14), control1: CGPoint(x: 2.781, y: 2.391), control2: CGPoint(x: 3.007, y: 2.242))
        p.addCurve(to: CGPoint(x: 4, y: 2), control1: CGPoint(x: 3.5, y: 2.047), control2: CGPoint(x: 3.746, y: 2))
        p.addCurve(to: CGPoint(x: 4.736, y: 2.14), control1: CGPoint(x: 4.254, y: 2), control2: CGPoint(x: 4.5, y: 2.047))
        p.addCurve(to: CGPoint(x: 5.414, y: 2.586), control1: CGPoint(x: 4.993, y: 2.242), control2: CGPoint(x: 5.219, y: 2.391))
        p.addCurve(to: CGPoint(x: 5.86, y: 3.264), control1: CGPoint(x: 5.609, y: 2.781), control2: CGPoint(x: 5.758, y: 3.007))
        p.addCurve(to: CGPoint(x: 6, y: 4), control1: CGPoint(x: 5.953, y: 3.5), control2: CGPoint(x: 6, y: 3.746))
        p.addLine(to: CGPoint(x: 6, y: 8))
        p.addCurve(to: CGPoint(x: 6.14, y: 8.736), control1: CGPoint(x: 6, y: 8.254), control2: CGPoint(x: 6.047, y: 8.5))
        p.closeSubpath()
        p.move(to: CGPoint(x: 4.707, y: 3.293))
        p.addCurve(to: CGPoint(x: 4, y: 3), control1: CGPoint(x: 4.512, y: 3.098), control2: CGPoint(x: 4.276, y: 3))
        p.addCurve(to: CGPoint(x: 3.293, y: 3.293), control1: CGPoint(x: 3.724, y: 3), control2: CGPoint(x: 3.488, y: 3.098))
        p.addCurve(to: CGPoint(x: 3, y: 4), control1: CGPoint(x: 3.098, y: 3.488), control2: CGPoint(x: 3, y: 3.724))
        p.addLine(to: CGPoint(x: 3, y: 5))
        p.addLine(to: CGPoint(x: 5, y: 5))
        p.addLine(to: CGPoint(x: 5, y: 4))
        p.addCurve(to: CGPoint(x: 4.707, y: 3.293), control1: CGPoint(x: 5, y: 3.724), control2: CGPoint(x: 4.902, y: 3.488))
        p.closeSubpath()
        p.move(to: CGPoint(x: 12.707, y: 3.293))
        p.addCurve(to: CGPoint(x: 12, y: 3), control1: CGPoint(x: 12.512, y: 3.098), control2: CGPoint(x: 12.276, y: 3))
        p.addCurve(to: CGPoint(x: 11.293, y: 3.293), control1: CGPoint(x: 11.724, y: 3), control2: CGPoint(x: 11.488, y: 3.098))
        p.addCurve(to: CGPoint(x: 11, y: 4), control1: CGPoint(x: 11.098, y: 3.488), control2: CGPoint(x: 11, y: 3.724))
        p.addLine(to: CGPoint(x: 11, y: 5))
        p.addLine(to: CGPoint(x: 13, y: 5))
        p.addLine(to: CGPoint(x: 13, y: 4))
        p.addCurve(to: CGPoint(x: 12.707, y: 3.293), control1: CGPoint(x: 13, y: 3.724), control2: CGPoint(x: 12.902, y: 3.488))
        p.closeSubpath()
        p.move(to: CGPoint(x: 11, y: 6))
        p.addLine(to: CGPoint(x: 11, y: 8))
        p.addCurve(to: CGPoint(x: 10.789, y: 9.104), control1: CGPoint(x: 11, y: 8.381), control2: CGPoint(x: 10.93, y: 8.75))
        p.addCurve(to: CGPoint(x: 10.121, y: 10.121), control1: CGPoint(x: 10.637, y: 9.489), control2: CGPoint(x: 10.414, y: 9.828))
        p.addCurve(to: CGPoint(x: 9.104, y: 10.789), control1: CGPoint(x: 9.828, y: 10.414), control2: CGPoint(x: 9.489, y: 10.637))
        p.addCurve(to: CGPoint(x: 8, y: 11), control1: CGPoint(x: 8.75, y: 10.93), control2: CGPoint(x: 8.381, y: 11))
        p.addCurve(to: CGPoint(x: 6.896, y: 10.789), control1: CGPoint(x: 7.619, y: 11), control2: CGPoint(x: 7.25, y: 10.93))
        p.addCurve(to: CGPoint(x: 5.879, y: 10.121), control1: CGPoint(x: 6.511, y: 10.637), control2: CGPoint(x: 6.172, y: 10.414))
        p.addCurve(to: CGPoint(x: 5.211, y: 9.104), control1: CGPoint(x: 5.586, y: 9.828), control2: CGPoint(x: 5.363, y: 9.489))
        p.addCurve(to: CGPoint(x: 5, y: 8), control1: CGPoint(x: 5.07, y: 8.75), control2: CGPoint(x: 5, y: 8.381))
        p.addLine(to: CGPoint(x: 5, y: 6))
        p.addLine(to: CGPoint(x: 3, y: 6))
        p.addLine(to: CGPoint(x: 3, y: 8))
        p.addCurve(to: CGPoint(x: 3.351, y: 9.84), control1: CGPoint(x: 3, y: 8.636), control2: CGPoint(x: 3.117, y: 9.249))
        p.addCurve(to: CGPoint(x: 4.464, y: 11.536), control1: CGPoint(x: 3.605, y: 10.482), control2: CGPoint(x: 3.976, y: 11.047))
        p.addCurve(to: CGPoint(x: 6.16, y: 12.649), control1: CGPoint(x: 4.953, y: 12.024), control2: CGPoint(x: 5.518, y: 12.395))
        p.addCurve(to: CGPoint(x: 8, y: 13), control1: CGPoint(x: 6.751, y: 12.883), control2: CGPoint(x: 7.364, y: 13))
        p.addCurve(to: CGPoint(x: 9.84, y: 12.649), control1: CGPoint(x: 8.636, y: 13), control2: CGPoint(x: 9.249, y: 12.883))
        p.addCurve(to: CGPoint(x: 11.536, y: 11.536), control1: CGPoint(x: 10.482, y: 12.395), control2: CGPoint(x: 11.047, y: 12.024))
        p.addCurve(to: CGPoint(x: 12.649, y: 9.84), control1: CGPoint(x: 12.024, y: 11.047), control2: CGPoint(x: 12.395, y: 10.482))
        p.addCurve(to: CGPoint(x: 13, y: 8), control1: CGPoint(x: 12.883, y: 9.249), control2: CGPoint(x: 13, y: 8.636))
        p.addLine(to: CGPoint(x: 13, y: 6))
        p.addLine(to: CGPoint(x: 11, y: 6))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

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

### Compose

```kotlin
// Gentleface "magnet" (line-round), MIT. https://gentleface.com/icons/magnet
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 MagnetIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "magnet", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M6.14 8.736C6.242 8.993 6.391 9.219 6.586 9.414C6.781 9.609 7.007 9.758 7.264 9.86C7.5 9.953 7.746 10 8 10C8.254 10 8.5 9.953 8.736 9.86C8.993 9.758 9.219 9.609 9.414 9.414C9.609 9.219 9.758 8.993 9.86 8.736C9.953 8.5 10 8.254 10 8L10 4C10 3.746 10.047 3.5 10.14 3.264C10.242 3.007 10.391 2.781 10.586 2.586C10.781 2.391 11.007 2.242 11.264 2.14C11.5 2.047 11.746 2 12 2C12.254 2 12.5 2.047 12.736 2.14C12.993 2.242 13.219 2.391 13.414 2.586C13.609 2.781 13.758 3.007 13.86 3.264C13.953 3.5 14 3.746 14 4L14 8C14 8.763 13.86 9.499 13.579 10.209C13.274 10.979 12.828 11.657 12.243 12.243C11.657 12.828 10.979 13.274 10.209 13.579C9.499 13.86 8.763 14 8 14C7.237 14 6.501 13.86 5.791 13.579C5.021 13.274 4.343 12.828 3.757 12.243C3.172 11.657 2.726 10.979 2.421 10.209C2.14 9.499 2 8.763 2 8L2 4C2 3.746 2.047 3.5 2.14 3.264C2.242 3.007 2.391 2.781 2.586 2.586C2.781 2.391 3.007 2.242 3.264 2.14C3.5 2.047 3.746 2 4 2C4.254 2 4.5 2.047 4.736 2.14C4.993 2.242 5.219 2.391 5.414 2.586C5.609 2.781 5.758 3.007 5.86 3.264C5.953 3.5 6 3.746 6 4L6 8C6 8.254 6.047 8.5 6.14 8.736ZM4.707 3.293C4.512 3.098 4.276 3 4 3C3.724 3 3.488 3.098 3.293 3.293C3.098 3.488 3 3.724 3 4L3 5L5 5L5 4C5 3.724 4.902 3.488 4.707 3.293ZM12.707 3.293C12.512 3.098 12.276 3 12 3C11.724 3 11.488 3.098 11.293 3.293C11.098 3.488 11 3.724 11 4L11 5L13 5L13 4C13 3.724 12.902 3.488 12.707 3.293ZM11 6L11 8C11 8.381 10.93 8.75 10.789 9.104C10.637 9.489 10.414 9.828 10.121 10.121C9.828 10.414 9.489 10.637 9.104 10.789C8.75 10.93 8.381 11 8 11C7.619 11 7.25 10.93 6.896 10.789C6.511 10.637 6.172 10.414 5.879 10.121C5.586 9.828 5.363 9.489 5.211 9.104C5.07 8.75 5 8.381 5 8L5 6L3 6L3 8C3 8.636 3.117 9.249 3.351 9.84C3.605 10.482 3.976 11.047 4.464 11.536C4.953 12.024 5.518 12.395 6.16 12.649C6.751 12.883 7.364 13 8 13C8.636 13 9.249 12.883 9.84 12.649C10.482 12.395 11.047 12.024 11.536 11.536C12.024 11.047 12.395 10.482 12.649 9.84C12.883 9.249 13 8.636 13 8L13 6L11 6Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

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

### Android XML

```xml
<!-- res/drawable/ic_magnet.xml · Gentleface "magnet" (line-round), MIT. https://gentleface.com/icons/magnet -->
<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="M6.14 8.736C6.242 8.993 6.391 9.219 6.586 9.414C6.781 9.609 7.007 9.758 7.264 9.86C7.5 9.953 7.746 10 8 10C8.254 10 8.5 9.953 8.736 9.86C8.993 9.758 9.219 9.609 9.414 9.414C9.609 9.219 9.758 8.993 9.86 8.736C9.953 8.5 10 8.254 10 8L10 4C10 3.746 10.047 3.5 10.14 3.264C10.242 3.007 10.391 2.781 10.586 2.586C10.781 2.391 11.007 2.242 11.264 2.14C11.5 2.047 11.746 2 12 2C12.254 2 12.5 2.047 12.736 2.14C12.993 2.242 13.219 2.391 13.414 2.586C13.609 2.781 13.758 3.007 13.86 3.264C13.953 3.5 14 3.746 14 4L14 8C14 8.763 13.86 9.499 13.579 10.209C13.274 10.979 12.828 11.657 12.243 12.243C11.657 12.828 10.979 13.274 10.209 13.579C9.499 13.86 8.763 14 8 14C7.237 14 6.501 13.86 5.791 13.579C5.021 13.274 4.343 12.828 3.757 12.243C3.172 11.657 2.726 10.979 2.421 10.209C2.14 9.499 2 8.763 2 8L2 4C2 3.746 2.047 3.5 2.14 3.264C2.242 3.007 2.391 2.781 2.586 2.586C2.781 2.391 3.007 2.242 3.264 2.14C3.5 2.047 3.746 2 4 2C4.254 2 4.5 2.047 4.736 2.14C4.993 2.242 5.219 2.391 5.414 2.586C5.609 2.781 5.758 3.007 5.86 3.264C5.953 3.5 6 3.746 6 4L6 8C6 8.254 6.047 8.5 6.14 8.736ZM4.707 3.293C4.512 3.098 4.276 3 4 3C3.724 3 3.488 3.098 3.293 3.293C3.098 3.488 3 3.724 3 4L3 5L5 5L5 4C5 3.724 4.902 3.488 4.707 3.293ZM12.707 3.293C12.512 3.098 12.276 3 12 3C11.724 3 11.488 3.098 11.293 3.293C11.098 3.488 11 3.724 11 4L11 5L13 5L13 4C13 3.724 12.902 3.488 12.707 3.293ZM11 6L11 8C11 8.381 10.93 8.75 10.789 9.104C10.637 9.489 10.414 9.828 10.121 10.121C9.828 10.414 9.489 10.637 9.104 10.789C8.75 10.93 8.381 11 8 11C7.619 11 7.25 10.93 6.896 10.789C6.511 10.637 6.172 10.414 5.879 10.121C5.586 9.828 5.363 9.489 5.211 9.104C5.07 8.75 5 8.381 5 8L5 6L3 6L3 8C3 8.636 3.117 9.249 3.351 9.84C3.605 10.482 3.976 11.047 4.464 11.536C4.953 12.024 5.518 12.395 6.16 12.649C6.751 12.883 7.364 13 8 13C8.636 13 9.249 12.883 9.84 12.649C10.482 12.395 11.047 12.024 11.536 11.536C12.024 11.047 12.395 10.482 12.649 9.84C12.883 9.249 13 8.636 13 8L13 6L11 6Z"/>
</vector>
```

### Flutter

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

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

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

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

  @override
  void paint(Canvas canvas, Size size) {
    canvas.scale(size.width / 16, size.height / 16);
    final p = Path()
      ..moveTo(6.14, 8.736)
      ..cubicTo(6.242, 8.993, 6.391, 9.219, 6.586, 9.414)
      ..cubicTo(6.781, 9.609, 7.007, 9.758, 7.264, 9.86)
      ..cubicTo(7.5, 9.953, 7.746, 10, 8, 10)
      ..cubicTo(8.254, 10, 8.5, 9.953, 8.736, 9.86)
      ..cubicTo(8.993, 9.758, 9.219, 9.609, 9.414, 9.414)
      ..cubicTo(9.609, 9.219, 9.758, 8.993, 9.86, 8.736)
      ..cubicTo(9.953, 8.5, 10, 8.254, 10, 8)
      ..lineTo(10, 4)
      ..cubicTo(10, 3.746, 10.047, 3.5, 10.14, 3.264)
      ..cubicTo(10.242, 3.007, 10.391, 2.781, 10.586, 2.586)
      ..cubicTo(10.781, 2.391, 11.007, 2.242, 11.264, 2.14)
      ..cubicTo(11.5, 2.047, 11.746, 2, 12, 2)
      ..cubicTo(12.254, 2, 12.5, 2.047, 12.736, 2.14)
      ..cubicTo(12.993, 2.242, 13.219, 2.391, 13.414, 2.586)
      ..cubicTo(13.609, 2.781, 13.758, 3.007, 13.86, 3.264)
      ..cubicTo(13.953, 3.5, 14, 3.746, 14, 4)
      ..lineTo(14, 8)
      ..cubicTo(14, 8.763, 13.86, 9.499, 13.579, 10.209)
      ..cubicTo(13.274, 10.979, 12.828, 11.657, 12.243, 12.243)
      ..cubicTo(11.657, 12.828, 10.979, 13.274, 10.209, 13.579)
      ..cubicTo(9.499, 13.86, 8.763, 14, 8, 14)
      ..cubicTo(7.237, 14, 6.501, 13.86, 5.791, 13.579)
      ..cubicTo(5.021, 13.274, 4.343, 12.828, 3.757, 12.243)
      ..cubicTo(3.172, 11.657, 2.726, 10.979, 2.421, 10.209)
      ..cubicTo(2.14, 9.499, 2, 8.763, 2, 8)
      ..lineTo(2, 4)
      ..cubicTo(2, 3.746, 2.047, 3.5, 2.14, 3.264)
      ..cubicTo(2.242, 3.007, 2.391, 2.781, 2.586, 2.586)
      ..cubicTo(2.781, 2.391, 3.007, 2.242, 3.264, 2.14)
      ..cubicTo(3.5, 2.047, 3.746, 2, 4, 2)
      ..cubicTo(4.254, 2, 4.5, 2.047, 4.736, 2.14)
      ..cubicTo(4.993, 2.242, 5.219, 2.391, 5.414, 2.586)
      ..cubicTo(5.609, 2.781, 5.758, 3.007, 5.86, 3.264)
      ..cubicTo(5.953, 3.5, 6, 3.746, 6, 4)
      ..lineTo(6, 8)
      ..cubicTo(6, 8.254, 6.047, 8.5, 6.14, 8.736)
      ..close()
      ..moveTo(4.707, 3.293)
      ..cubicTo(4.512, 3.098, 4.276, 3, 4, 3)
      ..cubicTo(3.724, 3, 3.488, 3.098, 3.293, 3.293)
      ..cubicTo(3.098, 3.488, 3, 3.724, 3, 4)
      ..lineTo(3, 5)
      ..lineTo(5, 5)
      ..lineTo(5, 4)
      ..cubicTo(5, 3.724, 4.902, 3.488, 4.707, 3.293)
      ..close()
      ..moveTo(12.707, 3.293)
      ..cubicTo(12.512, 3.098, 12.276, 3, 12, 3)
      ..cubicTo(11.724, 3, 11.488, 3.098, 11.293, 3.293)
      ..cubicTo(11.098, 3.488, 11, 3.724, 11, 4)
      ..lineTo(11, 5)
      ..lineTo(13, 5)
      ..lineTo(13, 4)
      ..cubicTo(13, 3.724, 12.902, 3.488, 12.707, 3.293)
      ..close()
      ..moveTo(11, 6)
      ..lineTo(11, 8)
      ..cubicTo(11, 8.381, 10.93, 8.75, 10.789, 9.104)
      ..cubicTo(10.637, 9.489, 10.414, 9.828, 10.121, 10.121)
      ..cubicTo(9.828, 10.414, 9.489, 10.637, 9.104, 10.789)
      ..cubicTo(8.75, 10.93, 8.381, 11, 8, 11)
      ..cubicTo(7.619, 11, 7.25, 10.93, 6.896, 10.789)
      ..cubicTo(6.511, 10.637, 6.172, 10.414, 5.879, 10.121)
      ..cubicTo(5.586, 9.828, 5.363, 9.489, 5.211, 9.104)
      ..cubicTo(5.07, 8.75, 5, 8.381, 5, 8)
      ..lineTo(5, 6)
      ..lineTo(3, 6)
      ..lineTo(3, 8)
      ..cubicTo(3, 8.636, 3.117, 9.249, 3.351, 9.84)
      ..cubicTo(3.605, 10.482, 3.976, 11.047, 4.464, 11.536)
      ..cubicTo(4.953, 12.024, 5.518, 12.395, 6.16, 12.649)
      ..cubicTo(6.751, 12.883, 7.364, 13, 8, 13)
      ..cubicTo(8.636, 13, 9.249, 12.883, 9.84, 12.649)
      ..cubicTo(10.482, 12.395, 11.047, 12.024, 11.536, 11.536)
      ..cubicTo(12.024, 11.047, 12.395, 10.482, 12.649, 9.84)
      ..cubicTo(12.883, 9.249, 13, 8.636, 13, 8)
      ..lineTo(13, 6)
      ..lineTo(11, 6)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

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