# link icon

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

- Category: Actions
- Use it for: link, hyperlink, url, permalink, copy link
- Tags: link, chain, url, hyperlink, attach
- Family: link-alert, link-clock, link-gear, link-lock, link-off, link-pencil, link-plus, unlink
- Component name: LinkIcon
- Added: 2026-10-14

## Alternatives

- `external-link`: a link that opens outside the app or in a new tab
- `link-plus`: insert a link in an editor

## Don't confuse with

- `paperclip`: a paperclip attaches a file; a link is the chain

## Also fits

- external link: a hyperlink or a copy-link action (link)
- embed: share by URL instead of embedding (hyperlink)
- linked file: a link without the file (hyperlink)
- public: anyone with the link
- anchor: an anchor link inside a web page

## Not for

- attach (use `paperclip`): a chain links to a URL; a file attachment is the paperclip

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

The SVG of every style: https://gentleface.com/icons/link.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="M3.58 5.176C3.259 5.303 2.976 5.488 2.732 5.732C2.488 5.976 2.303 6.259 2.176 6.58C2.059 6.875 2 7.182 2 7.5C2 7.818 2.059 8.125 2.176 8.42C2.303 8.741 2.488 9.024 2.732 9.268C2.976 9.512 3.259 9.697 3.58 9.824C3.875 9.941 4.182 10 4.5 10L5.5 10C5.641 10 5.759 10.048 5.856 10.144C5.952 10.241 6 10.359 6 10.5C6 10.641 5.952 10.759 5.856 10.856C5.759 10.952 5.641 11 5.5 11L4.5 11C4.055 11 3.625 10.918 3.212 10.754C2.762 10.576 2.367 10.317 2.025 9.975C1.683 9.633 1.424 9.238 1.246 8.788C1.082 8.375 1 7.945 1 7.5C1 7.055 1.082 6.625 1.246 6.212C1.424 5.762 1.683 5.367 2.025 5.025C2.367 4.683 2.762 4.424 3.212 4.246C3.625 4.082 4.055 4 4.5 4L5.5 4C5.641 4 5.759 4.048 5.856 4.144C5.952 4.241 6 4.359 6 4.5C6 4.641 5.952 4.759 5.856 4.856C5.759 4.952 5.641 5 5.5 5L4.5 5C4.182 5 3.875 5.059 3.58 5.176ZM10 10.5C10 10.359 10.048 10.241 10.144 10.144C10.241 10.048 10.359 10 10.5 10L11.5 10C11.818 10 12.125 9.941 12.42 9.824C12.741 9.697 13.024 9.512 13.268 9.268C13.512 9.024 13.697 8.741 13.824 8.42C13.941 8.125 14 7.818 14 7.5C14 7.182 13.941 6.875 13.824 6.58C13.697 6.259 13.512 5.976 13.268 5.732C13.024 5.488 12.741 5.303 12.42 5.176C12.125 5.059 11.818 5 11.5 5L10.5 5C10.359 5 10.241 4.952 10.144 4.856C10.048 4.759 10 4.641 10 4.5C10 4.359 10.048 4.241 10.144 4.144C10.241 4.048 10.359 4 10.5 4L11.5 4C11.945 4 12.375 4.082 12.788 4.246C13.238 4.424 13.633 4.683 13.975 5.025C14.317 5.367 14.576 5.762 14.754 6.212C14.918 6.625 15 7.055 15 7.5C15 7.945 14.918 8.375 14.754 8.788C14.576 9.238 14.317 9.633 13.975 9.975C13.633 10.317 13.238 10.576 12.788 10.754C12.375 10.918 11.945 11 11.5 11L10.5 11C10.359 11 10.241 10.952 10.144 10.856C10.048 10.759 10 10.641 10 10.5ZM10.856 7.144C10.952 7.241 11 7.359 11 7.5C11 7.641 10.952 7.759 10.856 7.856C10.759 7.952 10.641 8 10.5 8L5.5 8C5.359 8 5.241 7.952 5.144 7.856C5.048 7.759 5 7.641 5 7.5C5 7.359 5.048 7.241 5.144 7.144C5.241 7.048 5.359 7 5.5 7L10.5 7C10.641 7 10.759 7.048 10.856 7.144Z"/></svg>
```

### React

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

export function LinkIcon(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="M3.58 5.176C3.259 5.303 2.976 5.488 2.732 5.732C2.488 5.976 2.303 6.259 2.176 6.58C2.059 6.875 2 7.182 2 7.5C2 7.818 2.059 8.125 2.176 8.42C2.303 8.741 2.488 9.024 2.732 9.268C2.976 9.512 3.259 9.697 3.58 9.824C3.875 9.941 4.182 10 4.5 10L5.5 10C5.641 10 5.759 10.048 5.856 10.144C5.952 10.241 6 10.359 6 10.5C6 10.641 5.952 10.759 5.856 10.856C5.759 10.952 5.641 11 5.5 11L4.5 11C4.055 11 3.625 10.918 3.212 10.754C2.762 10.576 2.367 10.317 2.025 9.975C1.683 9.633 1.424 9.238 1.246 8.788C1.082 8.375 1 7.945 1 7.5C1 7.055 1.082 6.625 1.246 6.212C1.424 5.762 1.683 5.367 2.025 5.025C2.367 4.683 2.762 4.424 3.212 4.246C3.625 4.082 4.055 4 4.5 4L5.5 4C5.641 4 5.759 4.048 5.856 4.144C5.952 4.241 6 4.359 6 4.5C6 4.641 5.952 4.759 5.856 4.856C5.759 4.952 5.641 5 5.5 5L4.5 5C4.182 5 3.875 5.059 3.58 5.176ZM10 10.5C10 10.359 10.048 10.241 10.144 10.144C10.241 10.048 10.359 10 10.5 10L11.5 10C11.818 10 12.125 9.941 12.42 9.824C12.741 9.697 13.024 9.512 13.268 9.268C13.512 9.024 13.697 8.741 13.824 8.42C13.941 8.125 14 7.818 14 7.5C14 7.182 13.941 6.875 13.824 6.58C13.697 6.259 13.512 5.976 13.268 5.732C13.024 5.488 12.741 5.303 12.42 5.176C12.125 5.059 11.818 5 11.5 5L10.5 5C10.359 5 10.241 4.952 10.144 4.856C10.048 4.759 10 4.641 10 4.5C10 4.359 10.048 4.241 10.144 4.144C10.241 4.048 10.359 4 10.5 4L11.5 4C11.945 4 12.375 4.082 12.788 4.246C13.238 4.424 13.633 4.683 13.975 5.025C14.317 5.367 14.576 5.762 14.754 6.212C14.918 6.625 15 7.055 15 7.5C15 7.945 14.918 8.375 14.754 8.788C14.576 9.238 14.317 9.633 13.975 9.975C13.633 10.317 13.238 10.576 12.788 10.754C12.375 10.918 11.945 11 11.5 11L10.5 11C10.359 11 10.241 10.952 10.144 10.856C10.048 10.759 10 10.641 10 10.5ZM10.856 7.144C10.952 7.241 11 7.359 11 7.5C11 7.641 10.952 7.759 10.856 7.856C10.759 7.952 10.641 8 10.5 8L5.5 8C5.359 8 5.241 7.952 5.144 7.856C5.048 7.759 5 7.641 5 7.5C5 7.359 5.048 7.241 5.144 7.144C5.241 7.048 5.359 7 5.5 7L10.5 7C10.641 7 10.759 7.048 10.856 7.144Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "link" (line-round), MIT. https://gentleface.com/icons/link -->
<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="M3.58 5.176C3.259 5.303 2.976 5.488 2.732 5.732C2.488 5.976 2.303 6.259 2.176 6.58C2.059 6.875 2 7.182 2 7.5C2 7.818 2.059 8.125 2.176 8.42C2.303 8.741 2.488 9.024 2.732 9.268C2.976 9.512 3.259 9.697 3.58 9.824C3.875 9.941 4.182 10 4.5 10L5.5 10C5.641 10 5.759 10.048 5.856 10.144C5.952 10.241 6 10.359 6 10.5C6 10.641 5.952 10.759 5.856 10.856C5.759 10.952 5.641 11 5.5 11L4.5 11C4.055 11 3.625 10.918 3.212 10.754C2.762 10.576 2.367 10.317 2.025 9.975C1.683 9.633 1.424 9.238 1.246 8.788C1.082 8.375 1 7.945 1 7.5C1 7.055 1.082 6.625 1.246 6.212C1.424 5.762 1.683 5.367 2.025 5.025C2.367 4.683 2.762 4.424 3.212 4.246C3.625 4.082 4.055 4 4.5 4L5.5 4C5.641 4 5.759 4.048 5.856 4.144C5.952 4.241 6 4.359 6 4.5C6 4.641 5.952 4.759 5.856 4.856C5.759 4.952 5.641 5 5.5 5L4.5 5C4.182 5 3.875 5.059 3.58 5.176ZM10 10.5C10 10.359 10.048 10.241 10.144 10.144C10.241 10.048 10.359 10 10.5 10L11.5 10C11.818 10 12.125 9.941 12.42 9.824C12.741 9.697 13.024 9.512 13.268 9.268C13.512 9.024 13.697 8.741 13.824 8.42C13.941 8.125 14 7.818 14 7.5C14 7.182 13.941 6.875 13.824 6.58C13.697 6.259 13.512 5.976 13.268 5.732C13.024 5.488 12.741 5.303 12.42 5.176C12.125 5.059 11.818 5 11.5 5L10.5 5C10.359 5 10.241 4.952 10.144 4.856C10.048 4.759 10 4.641 10 4.5C10 4.359 10.048 4.241 10.144 4.144C10.241 4.048 10.359 4 10.5 4L11.5 4C11.945 4 12.375 4.082 12.788 4.246C13.238 4.424 13.633 4.683 13.975 5.025C14.317 5.367 14.576 5.762 14.754 6.212C14.918 6.625 15 7.055 15 7.5C15 7.945 14.918 8.375 14.754 8.788C14.576 9.238 14.317 9.633 13.975 9.975C13.633 10.317 13.238 10.576 12.788 10.754C12.375 10.918 11.945 11 11.5 11L10.5 11C10.359 11 10.241 10.952 10.144 10.856C10.048 10.759 10 10.641 10 10.5ZM10.856 7.144C10.952 7.241 11 7.359 11 7.5C11 7.641 10.952 7.759 10.856 7.856C10.759 7.952 10.641 8 10.5 8L5.5 8C5.359 8 5.241 7.952 5.144 7.856C5.048 7.759 5 7.641 5 7.5C5 7.359 5.048 7.241 5.144 7.144C5.241 7.048 5.359 7 5.5 7L10.5 7C10.641 7 10.759 7.048 10.856 7.144Z" />
  </svg>
</template>
```

### Svelte

```svelte
<!-- Gentleface "link" (line-round), MIT. https://gentleface.com/icons/link -->
<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="M3.58 5.176C3.259 5.303 2.976 5.488 2.732 5.732C2.488 5.976 2.303 6.259 2.176 6.58C2.059 6.875 2 7.182 2 7.5C2 7.818 2.059 8.125 2.176 8.42C2.303 8.741 2.488 9.024 2.732 9.268C2.976 9.512 3.259 9.697 3.58 9.824C3.875 9.941 4.182 10 4.5 10L5.5 10C5.641 10 5.759 10.048 5.856 10.144C5.952 10.241 6 10.359 6 10.5C6 10.641 5.952 10.759 5.856 10.856C5.759 10.952 5.641 11 5.5 11L4.5 11C4.055 11 3.625 10.918 3.212 10.754C2.762 10.576 2.367 10.317 2.025 9.975C1.683 9.633 1.424 9.238 1.246 8.788C1.082 8.375 1 7.945 1 7.5C1 7.055 1.082 6.625 1.246 6.212C1.424 5.762 1.683 5.367 2.025 5.025C2.367 4.683 2.762 4.424 3.212 4.246C3.625 4.082 4.055 4 4.5 4L5.5 4C5.641 4 5.759 4.048 5.856 4.144C5.952 4.241 6 4.359 6 4.5C6 4.641 5.952 4.759 5.856 4.856C5.759 4.952 5.641 5 5.5 5L4.5 5C4.182 5 3.875 5.059 3.58 5.176ZM10 10.5C10 10.359 10.048 10.241 10.144 10.144C10.241 10.048 10.359 10 10.5 10L11.5 10C11.818 10 12.125 9.941 12.42 9.824C12.741 9.697 13.024 9.512 13.268 9.268C13.512 9.024 13.697 8.741 13.824 8.42C13.941 8.125 14 7.818 14 7.5C14 7.182 13.941 6.875 13.824 6.58C13.697 6.259 13.512 5.976 13.268 5.732C13.024 5.488 12.741 5.303 12.42 5.176C12.125 5.059 11.818 5 11.5 5L10.5 5C10.359 5 10.241 4.952 10.144 4.856C10.048 4.759 10 4.641 10 4.5C10 4.359 10.048 4.241 10.144 4.144C10.241 4.048 10.359 4 10.5 4L11.5 4C11.945 4 12.375 4.082 12.788 4.246C13.238 4.424 13.633 4.683 13.975 5.025C14.317 5.367 14.576 5.762 14.754 6.212C14.918 6.625 15 7.055 15 7.5C15 7.945 14.918 8.375 14.754 8.788C14.576 9.238 14.317 9.633 13.975 9.975C13.633 10.317 13.238 10.576 12.788 10.754C12.375 10.918 11.945 11 11.5 11L10.5 11C10.359 11 10.241 10.952 10.144 10.856C10.048 10.759 10 10.641 10 10.5ZM10.856 7.144C10.952 7.241 11 7.359 11 7.5C11 7.641 10.952 7.759 10.856 7.856C10.759 7.952 10.641 8 10.5 8L5.5 8C5.359 8 5.241 7.952 5.144 7.856C5.048 7.759 5 7.641 5 7.5C5 7.359 5.048 7.241 5.144 7.144C5.241 7.048 5.359 7 5.5 7L10.5 7C10.641 7 10.759 7.048 10.856 7.144Z" />
</svg>
```

### HTML img

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

### CSS

```css
/* Gentleface "link" (line-round), MIT. https://gentleface.com/icons/link. Takes the text color. */
.icon-link {
  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='M3.58 5.176C3.259 5.303 2.976 5.488 2.732 5.732C2.488 5.976 2.303 6.259 2.176 6.58C2.059 6.875 2 7.182 2 7.5C2 7.818 2.059 8.125 2.176 8.42C2.303 8.741 2.488 9.024 2.732 9.268C2.976 9.512 3.259 9.697 3.58 9.824C3.875 9.941 4.182 10 4.5 10L5.5 10C5.641 10 5.759 10.048 5.856 10.144C5.952 10.241 6 10.359 6 10.5C6 10.641 5.952 10.759 5.856 10.856C5.759 10.952 5.641 11 5.5 11L4.5 11C4.055 11 3.625 10.918 3.212 10.754C2.762 10.576 2.367 10.317 2.025 9.975C1.683 9.633 1.424 9.238 1.246 8.788C1.082 8.375 1 7.945 1 7.5C1 7.055 1.082 6.625 1.246 6.212C1.424 5.762 1.683 5.367 2.025 5.025C2.367 4.683 2.762 4.424 3.212 4.246C3.625 4.082 4.055 4 4.5 4L5.5 4C5.641 4 5.759 4.048 5.856 4.144C5.952 4.241 6 4.359 6 4.5C6 4.641 5.952 4.759 5.856 4.856C5.759 4.952 5.641 5 5.5 5L4.5 5C4.182 5 3.875 5.059 3.58 5.176ZM10 10.5C10 10.359 10.048 10.241 10.144 10.144C10.241 10.048 10.359 10 10.5 10L11.5 10C11.818 10 12.125 9.941 12.42 9.824C12.741 9.697 13.024 9.512 13.268 9.268C13.512 9.024 13.697 8.741 13.824 8.42C13.941 8.125 14 7.818 14 7.5C14 7.182 13.941 6.875 13.824 6.58C13.697 6.259 13.512 5.976 13.268 5.732C13.024 5.488 12.741 5.303 12.42 5.176C12.125 5.059 11.818 5 11.5 5L10.5 5C10.359 5 10.241 4.952 10.144 4.856C10.048 4.759 10 4.641 10 4.5C10 4.359 10.048 4.241 10.144 4.144C10.241 4.048 10.359 4 10.5 4L11.5 4C11.945 4 12.375 4.082 12.788 4.246C13.238 4.424 13.633 4.683 13.975 5.025C14.317 5.367 14.576 5.762 14.754 6.212C14.918 6.625 15 7.055 15 7.5C15 7.945 14.918 8.375 14.754 8.788C14.576 9.238 14.317 9.633 13.975 9.975C13.633 10.317 13.238 10.576 12.788 10.754C12.375 10.918 11.945 11 11.5 11L10.5 11C10.359 11 10.241 10.952 10.144 10.856C10.048 10.759 10 10.641 10 10.5ZM10.856 7.144C10.952 7.241 11 7.359 11 7.5C11 7.641 10.952 7.759 10.856 7.856C10.759 7.952 10.641 8 10.5 8L5.5 8C5.359 8 5.241 7.952 5.144 7.856C5.048 7.759 5 7.641 5 7.5C5 7.359 5.048 7.241 5.144 7.144C5.241 7.048 5.359 7 5.5 7L10.5 7C10.641 7 10.759 7.048 10.856 7.144Z'/%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='M3.58 5.176C3.259 5.303 2.976 5.488 2.732 5.732C2.488 5.976 2.303 6.259 2.176 6.58C2.059 6.875 2 7.182 2 7.5C2 7.818 2.059 8.125 2.176 8.42C2.303 8.741 2.488 9.024 2.732 9.268C2.976 9.512 3.259 9.697 3.58 9.824C3.875 9.941 4.182 10 4.5 10L5.5 10C5.641 10 5.759 10.048 5.856 10.144C5.952 10.241 6 10.359 6 10.5C6 10.641 5.952 10.759 5.856 10.856C5.759 10.952 5.641 11 5.5 11L4.5 11C4.055 11 3.625 10.918 3.212 10.754C2.762 10.576 2.367 10.317 2.025 9.975C1.683 9.633 1.424 9.238 1.246 8.788C1.082 8.375 1 7.945 1 7.5C1 7.055 1.082 6.625 1.246 6.212C1.424 5.762 1.683 5.367 2.025 5.025C2.367 4.683 2.762 4.424 3.212 4.246C3.625 4.082 4.055 4 4.5 4L5.5 4C5.641 4 5.759 4.048 5.856 4.144C5.952 4.241 6 4.359 6 4.5C6 4.641 5.952 4.759 5.856 4.856C5.759 4.952 5.641 5 5.5 5L4.5 5C4.182 5 3.875 5.059 3.58 5.176ZM10 10.5C10 10.359 10.048 10.241 10.144 10.144C10.241 10.048 10.359 10 10.5 10L11.5 10C11.818 10 12.125 9.941 12.42 9.824C12.741 9.697 13.024 9.512 13.268 9.268C13.512 9.024 13.697 8.741 13.824 8.42C13.941 8.125 14 7.818 14 7.5C14 7.182 13.941 6.875 13.824 6.58C13.697 6.259 13.512 5.976 13.268 5.732C13.024 5.488 12.741 5.303 12.42 5.176C12.125 5.059 11.818 5 11.5 5L10.5 5C10.359 5 10.241 4.952 10.144 4.856C10.048 4.759 10 4.641 10 4.5C10 4.359 10.048 4.241 10.144 4.144C10.241 4.048 10.359 4 10.5 4L11.5 4C11.945 4 12.375 4.082 12.788 4.246C13.238 4.424 13.633 4.683 13.975 5.025C14.317 5.367 14.576 5.762 14.754 6.212C14.918 6.625 15 7.055 15 7.5C15 7.945 14.918 8.375 14.754 8.788C14.576 9.238 14.317 9.633 13.975 9.975C13.633 10.317 13.238 10.576 12.788 10.754C12.375 10.918 11.945 11 11.5 11L10.5 11C10.359 11 10.241 10.952 10.144 10.856C10.048 10.759 10 10.641 10 10.5ZM10.856 7.144C10.952 7.241 11 7.359 11 7.5C11 7.641 10.952 7.759 10.856 7.856C10.759 7.952 10.641 8 10.5 8L5.5 8C5.359 8 5.241 7.952 5.144 7.856C5.048 7.759 5 7.641 5 7.5C5 7.359 5.048 7.241 5.144 7.144C5.241 7.048 5.359 7 5.5 7L10.5 7C10.641 7 10.759 7.048 10.856 7.144Z'/%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='M3.58 5.176C3.259 5.303 2.976 5.488 2.732 5.732C2.488 5.976 2.303 6.259 2.176 6.58C2.059 6.875 2 7.182 2 7.5C2 7.818 2.059 8.125 2.176 8.42C2.303 8.741 2.488 9.024 2.732 9.268C2.976 9.512 3.259 9.697 3.58 9.824C3.875 9.941 4.182 10 4.5 10L5.5 10C5.641 10 5.759 10.048 5.856 10.144C5.952 10.241 6 10.359 6 10.5C6 10.641 5.952 10.759 5.856 10.856C5.759 10.952 5.641 11 5.5 11L4.5 11C4.055 11 3.625 10.918 3.212 10.754C2.762 10.576 2.367 10.317 2.025 9.975C1.683 9.633 1.424 9.238 1.246 8.788C1.082 8.375 1 7.945 1 7.5C1 7.055 1.082 6.625 1.246 6.212C1.424 5.762 1.683 5.367 2.025 5.025C2.367 4.683 2.762 4.424 3.212 4.246C3.625 4.082 4.055 4 4.5 4L5.5 4C5.641 4 5.759 4.048 5.856 4.144C5.952 4.241 6 4.359 6 4.5C6 4.641 5.952 4.759 5.856 4.856C5.759 4.952 5.641 5 5.5 5L4.5 5C4.182 5 3.875 5.059 3.58 5.176ZM10 10.5C10 10.359 10.048 10.241 10.144 10.144C10.241 10.048 10.359 10 10.5 10L11.5 10C11.818 10 12.125 9.941 12.42 9.824C12.741 9.697 13.024 9.512 13.268 9.268C13.512 9.024 13.697 8.741 13.824 8.42C13.941 8.125 14 7.818 14 7.5C14 7.182 13.941 6.875 13.824 6.58C13.697 6.259 13.512 5.976 13.268 5.732C13.024 5.488 12.741 5.303 12.42 5.176C12.125 5.059 11.818 5 11.5 5L10.5 5C10.359 5 10.241 4.952 10.144 4.856C10.048 4.759 10 4.641 10 4.5C10 4.359 10.048 4.241 10.144 4.144C10.241 4.048 10.359 4 10.5 4L11.5 4C11.945 4 12.375 4.082 12.788 4.246C13.238 4.424 13.633 4.683 13.975 5.025C14.317 5.367 14.576 5.762 14.754 6.212C14.918 6.625 15 7.055 15 7.5C15 7.945 14.918 8.375 14.754 8.788C14.576 9.238 14.317 9.633 13.975 9.975C13.633 10.317 13.238 10.576 12.788 10.754C12.375 10.918 11.945 11 11.5 11L10.5 11C10.359 11 10.241 10.952 10.144 10.856C10.048 10.759 10 10.641 10 10.5ZM10.856 7.144C10.952 7.241 11 7.359 11 7.5C11 7.641 10.952 7.759 10.856 7.856C10.759 7.952 10.641 8 10.5 8L5.5 8C5.359 8 5.241 7.952 5.144 7.856C5.048 7.759 5 7.641 5 7.5C5 7.359 5.048 7.241 5.144 7.144C5.241 7.048 5.359 7 5.5 7L10.5 7C10.641 7 10.759 7.048 10.856 7.144Z'/%3E%3C/svg%3E
```

### Sprite

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

### SwiftUI

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

struct LinkIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 3.58, y: 5.176))
        p.addCurve(to: CGPoint(x: 2.732, y: 5.732), control1: CGPoint(x: 3.259, y: 5.303), control2: CGPoint(x: 2.976, y: 5.488))
        p.addCurve(to: CGPoint(x: 2.176, y: 6.58), control1: CGPoint(x: 2.488, y: 5.976), control2: CGPoint(x: 2.303, y: 6.259))
        p.addCurve(to: CGPoint(x: 2, y: 7.5), control1: CGPoint(x: 2.059, y: 6.875), control2: CGPoint(x: 2, y: 7.182))
        p.addCurve(to: CGPoint(x: 2.176, y: 8.42), control1: CGPoint(x: 2, y: 7.818), control2: CGPoint(x: 2.059, y: 8.125))
        p.addCurve(to: CGPoint(x: 2.732, y: 9.268), control1: CGPoint(x: 2.303, y: 8.741), control2: CGPoint(x: 2.488, y: 9.024))
        p.addCurve(to: CGPoint(x: 3.58, y: 9.824), control1: CGPoint(x: 2.976, y: 9.512), control2: CGPoint(x: 3.259, y: 9.697))
        p.addCurve(to: CGPoint(x: 4.5, y: 10), control1: CGPoint(x: 3.875, y: 9.941), control2: CGPoint(x: 4.182, y: 10))
        p.addLine(to: CGPoint(x: 5.5, y: 10))
        p.addCurve(to: CGPoint(x: 5.856, y: 10.144), control1: CGPoint(x: 5.641, y: 10), control2: CGPoint(x: 5.759, y: 10.048))
        p.addCurve(to: CGPoint(x: 6, y: 10.5), control1: CGPoint(x: 5.952, y: 10.241), control2: CGPoint(x: 6, y: 10.359))
        p.addCurve(to: CGPoint(x: 5.856, y: 10.856), control1: CGPoint(x: 6, y: 10.641), control2: CGPoint(x: 5.952, y: 10.759))
        p.addCurve(to: CGPoint(x: 5.5, y: 11), control1: CGPoint(x: 5.759, y: 10.952), control2: CGPoint(x: 5.641, y: 11))
        p.addLine(to: CGPoint(x: 4.5, y: 11))
        p.addCurve(to: CGPoint(x: 3.212, y: 10.754), control1: CGPoint(x: 4.055, y: 11), control2: CGPoint(x: 3.625, y: 10.918))
        p.addCurve(to: CGPoint(x: 2.025, y: 9.975), control1: CGPoint(x: 2.762, y: 10.576), control2: CGPoint(x: 2.367, y: 10.317))
        p.addCurve(to: CGPoint(x: 1.246, y: 8.788), control1: CGPoint(x: 1.683, y: 9.633), control2: CGPoint(x: 1.424, y: 9.238))
        p.addCurve(to: CGPoint(x: 1, y: 7.5), control1: CGPoint(x: 1.082, y: 8.375), control2: CGPoint(x: 1, y: 7.945))
        p.addCurve(to: CGPoint(x: 1.246, y: 6.212), control1: CGPoint(x: 1, y: 7.055), control2: CGPoint(x: 1.082, y: 6.625))
        p.addCurve(to: CGPoint(x: 2.025, y: 5.025), control1: CGPoint(x: 1.424, y: 5.762), control2: CGPoint(x: 1.683, y: 5.367))
        p.addCurve(to: CGPoint(x: 3.212, y: 4.246), control1: CGPoint(x: 2.367, y: 4.683), control2: CGPoint(x: 2.762, y: 4.424))
        p.addCurve(to: CGPoint(x: 4.5, y: 4), control1: CGPoint(x: 3.625, y: 4.082), control2: CGPoint(x: 4.055, y: 4))
        p.addLine(to: CGPoint(x: 5.5, y: 4))
        p.addCurve(to: CGPoint(x: 5.856, y: 4.144), control1: CGPoint(x: 5.641, y: 4), control2: CGPoint(x: 5.759, y: 4.048))
        p.addCurve(to: CGPoint(x: 6, y: 4.5), control1: CGPoint(x: 5.952, y: 4.241), control2: CGPoint(x: 6, y: 4.359))
        p.addCurve(to: CGPoint(x: 5.856, y: 4.856), control1: CGPoint(x: 6, y: 4.641), control2: CGPoint(x: 5.952, y: 4.759))
        p.addCurve(to: CGPoint(x: 5.5, y: 5), control1: CGPoint(x: 5.759, y: 4.952), control2: CGPoint(x: 5.641, y: 5))
        p.addLine(to: CGPoint(x: 4.5, y: 5))
        p.addCurve(to: CGPoint(x: 3.58, y: 5.176), control1: CGPoint(x: 4.182, y: 5), control2: CGPoint(x: 3.875, y: 5.059))
        p.closeSubpath()
        p.move(to: CGPoint(x: 10, y: 10.5))
        p.addCurve(to: CGPoint(x: 10.144, y: 10.144), control1: CGPoint(x: 10, y: 10.359), control2: CGPoint(x: 10.048, y: 10.241))
        p.addCurve(to: CGPoint(x: 10.5, y: 10), control1: CGPoint(x: 10.241, y: 10.048), control2: CGPoint(x: 10.359, y: 10))
        p.addLine(to: CGPoint(x: 11.5, y: 10))
        p.addCurve(to: CGPoint(x: 12.42, y: 9.824), control1: CGPoint(x: 11.818, y: 10), control2: CGPoint(x: 12.125, y: 9.941))
        p.addCurve(to: CGPoint(x: 13.268, y: 9.268), control1: CGPoint(x: 12.741, y: 9.697), control2: CGPoint(x: 13.024, y: 9.512))
        p.addCurve(to: CGPoint(x: 13.824, y: 8.42), control1: CGPoint(x: 13.512, y: 9.024), control2: CGPoint(x: 13.697, y: 8.741))
        p.addCurve(to: CGPoint(x: 14, y: 7.5), control1: CGPoint(x: 13.941, y: 8.125), control2: CGPoint(x: 14, y: 7.818))
        p.addCurve(to: CGPoint(x: 13.824, y: 6.58), control1: CGPoint(x: 14, y: 7.182), control2: CGPoint(x: 13.941, y: 6.875))
        p.addCurve(to: CGPoint(x: 13.268, y: 5.732), control1: CGPoint(x: 13.697, y: 6.259), control2: CGPoint(x: 13.512, y: 5.976))
        p.addCurve(to: CGPoint(x: 12.42, y: 5.176), control1: CGPoint(x: 13.024, y: 5.488), control2: CGPoint(x: 12.741, y: 5.303))
        p.addCurve(to: CGPoint(x: 11.5, y: 5), control1: CGPoint(x: 12.125, y: 5.059), control2: CGPoint(x: 11.818, y: 5))
        p.addLine(to: CGPoint(x: 10.5, y: 5))
        p.addCurve(to: CGPoint(x: 10.144, y: 4.856), control1: CGPoint(x: 10.359, y: 5), control2: CGPoint(x: 10.241, y: 4.952))
        p.addCurve(to: CGPoint(x: 10, y: 4.5), control1: CGPoint(x: 10.048, y: 4.759), control2: CGPoint(x: 10, y: 4.641))
        p.addCurve(to: CGPoint(x: 10.144, y: 4.144), control1: CGPoint(x: 10, y: 4.359), control2: CGPoint(x: 10.048, y: 4.241))
        p.addCurve(to: CGPoint(x: 10.5, y: 4), control1: CGPoint(x: 10.241, y: 4.048), control2: CGPoint(x: 10.359, y: 4))
        p.addLine(to: CGPoint(x: 11.5, y: 4))
        p.addCurve(to: CGPoint(x: 12.788, y: 4.246), control1: CGPoint(x: 11.945, y: 4), control2: CGPoint(x: 12.375, y: 4.082))
        p.addCurve(to: CGPoint(x: 13.975, y: 5.025), control1: CGPoint(x: 13.238, y: 4.424), control2: CGPoint(x: 13.633, y: 4.683))
        p.addCurve(to: CGPoint(x: 14.754, y: 6.212), control1: CGPoint(x: 14.317, y: 5.367), control2: CGPoint(x: 14.576, y: 5.762))
        p.addCurve(to: CGPoint(x: 15, y: 7.5), control1: CGPoint(x: 14.918, y: 6.625), control2: CGPoint(x: 15, y: 7.055))
        p.addCurve(to: CGPoint(x: 14.754, y: 8.788), control1: CGPoint(x: 15, y: 7.945), control2: CGPoint(x: 14.918, y: 8.375))
        p.addCurve(to: CGPoint(x: 13.975, y: 9.975), control1: CGPoint(x: 14.576, y: 9.238), control2: CGPoint(x: 14.317, y: 9.633))
        p.addCurve(to: CGPoint(x: 12.788, y: 10.754), control1: CGPoint(x: 13.633, y: 10.317), control2: CGPoint(x: 13.238, y: 10.576))
        p.addCurve(to: CGPoint(x: 11.5, y: 11), control1: CGPoint(x: 12.375, y: 10.918), control2: CGPoint(x: 11.945, y: 11))
        p.addLine(to: CGPoint(x: 10.5, y: 11))
        p.addCurve(to: CGPoint(x: 10.144, y: 10.856), control1: CGPoint(x: 10.359, y: 11), control2: CGPoint(x: 10.241, y: 10.952))
        p.addCurve(to: CGPoint(x: 10, y: 10.5), control1: CGPoint(x: 10.048, y: 10.759), control2: CGPoint(x: 10, y: 10.641))
        p.closeSubpath()
        p.move(to: CGPoint(x: 10.856, y: 7.144))
        p.addCurve(to: CGPoint(x: 11, y: 7.5), control1: CGPoint(x: 10.952, y: 7.241), control2: CGPoint(x: 11, y: 7.359))
        p.addCurve(to: CGPoint(x: 10.856, y: 7.856), control1: CGPoint(x: 11, y: 7.641), control2: CGPoint(x: 10.952, y: 7.759))
        p.addCurve(to: CGPoint(x: 10.5, y: 8), control1: CGPoint(x: 10.759, y: 7.952), control2: CGPoint(x: 10.641, y: 8))
        p.addLine(to: CGPoint(x: 5.5, y: 8))
        p.addCurve(to: CGPoint(x: 5.144, y: 7.856), control1: CGPoint(x: 5.359, y: 8), control2: CGPoint(x: 5.241, y: 7.952))
        p.addCurve(to: CGPoint(x: 5, y: 7.5), control1: CGPoint(x: 5.048, y: 7.759), control2: CGPoint(x: 5, y: 7.641))
        p.addCurve(to: CGPoint(x: 5.144, y: 7.144), control1: CGPoint(x: 5, y: 7.359), control2: CGPoint(x: 5.048, y: 7.241))
        p.addCurve(to: CGPoint(x: 5.5, y: 7), control1: CGPoint(x: 5.241, y: 7.048), control2: CGPoint(x: 5.359, y: 7))
        p.addLine(to: CGPoint(x: 10.5, y: 7))
        p.addCurve(to: CGPoint(x: 10.856, y: 7.144), control1: CGPoint(x: 10.641, y: 7), control2: CGPoint(x: 10.759, y: 7.048))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

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

### Compose

```kotlin
// Gentleface "link" (line-round), MIT. https://gentleface.com/icons/link
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 LinkIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "link", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M3.58 5.176C3.259 5.303 2.976 5.488 2.732 5.732C2.488 5.976 2.303 6.259 2.176 6.58C2.059 6.875 2 7.182 2 7.5C2 7.818 2.059 8.125 2.176 8.42C2.303 8.741 2.488 9.024 2.732 9.268C2.976 9.512 3.259 9.697 3.58 9.824C3.875 9.941 4.182 10 4.5 10L5.5 10C5.641 10 5.759 10.048 5.856 10.144C5.952 10.241 6 10.359 6 10.5C6 10.641 5.952 10.759 5.856 10.856C5.759 10.952 5.641 11 5.5 11L4.5 11C4.055 11 3.625 10.918 3.212 10.754C2.762 10.576 2.367 10.317 2.025 9.975C1.683 9.633 1.424 9.238 1.246 8.788C1.082 8.375 1 7.945 1 7.5C1 7.055 1.082 6.625 1.246 6.212C1.424 5.762 1.683 5.367 2.025 5.025C2.367 4.683 2.762 4.424 3.212 4.246C3.625 4.082 4.055 4 4.5 4L5.5 4C5.641 4 5.759 4.048 5.856 4.144C5.952 4.241 6 4.359 6 4.5C6 4.641 5.952 4.759 5.856 4.856C5.759 4.952 5.641 5 5.5 5L4.5 5C4.182 5 3.875 5.059 3.58 5.176ZM10 10.5C10 10.359 10.048 10.241 10.144 10.144C10.241 10.048 10.359 10 10.5 10L11.5 10C11.818 10 12.125 9.941 12.42 9.824C12.741 9.697 13.024 9.512 13.268 9.268C13.512 9.024 13.697 8.741 13.824 8.42C13.941 8.125 14 7.818 14 7.5C14 7.182 13.941 6.875 13.824 6.58C13.697 6.259 13.512 5.976 13.268 5.732C13.024 5.488 12.741 5.303 12.42 5.176C12.125 5.059 11.818 5 11.5 5L10.5 5C10.359 5 10.241 4.952 10.144 4.856C10.048 4.759 10 4.641 10 4.5C10 4.359 10.048 4.241 10.144 4.144C10.241 4.048 10.359 4 10.5 4L11.5 4C11.945 4 12.375 4.082 12.788 4.246C13.238 4.424 13.633 4.683 13.975 5.025C14.317 5.367 14.576 5.762 14.754 6.212C14.918 6.625 15 7.055 15 7.5C15 7.945 14.918 8.375 14.754 8.788C14.576 9.238 14.317 9.633 13.975 9.975C13.633 10.317 13.238 10.576 12.788 10.754C12.375 10.918 11.945 11 11.5 11L10.5 11C10.359 11 10.241 10.952 10.144 10.856C10.048 10.759 10 10.641 10 10.5ZM10.856 7.144C10.952 7.241 11 7.359 11 7.5C11 7.641 10.952 7.759 10.856 7.856C10.759 7.952 10.641 8 10.5 8L5.5 8C5.359 8 5.241 7.952 5.144 7.856C5.048 7.759 5 7.641 5 7.5C5 7.359 5.048 7.241 5.144 7.144C5.241 7.048 5.359 7 5.5 7L10.5 7C10.641 7 10.759 7.048 10.856 7.144Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

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

### Android XML

```xml
<!-- res/drawable/ic_link.xml · Gentleface "link" (line-round), MIT. https://gentleface.com/icons/link -->
<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="M3.58 5.176C3.259 5.303 2.976 5.488 2.732 5.732C2.488 5.976 2.303 6.259 2.176 6.58C2.059 6.875 2 7.182 2 7.5C2 7.818 2.059 8.125 2.176 8.42C2.303 8.741 2.488 9.024 2.732 9.268C2.976 9.512 3.259 9.697 3.58 9.824C3.875 9.941 4.182 10 4.5 10L5.5 10C5.641 10 5.759 10.048 5.856 10.144C5.952 10.241 6 10.359 6 10.5C6 10.641 5.952 10.759 5.856 10.856C5.759 10.952 5.641 11 5.5 11L4.5 11C4.055 11 3.625 10.918 3.212 10.754C2.762 10.576 2.367 10.317 2.025 9.975C1.683 9.633 1.424 9.238 1.246 8.788C1.082 8.375 1 7.945 1 7.5C1 7.055 1.082 6.625 1.246 6.212C1.424 5.762 1.683 5.367 2.025 5.025C2.367 4.683 2.762 4.424 3.212 4.246C3.625 4.082 4.055 4 4.5 4L5.5 4C5.641 4 5.759 4.048 5.856 4.144C5.952 4.241 6 4.359 6 4.5C6 4.641 5.952 4.759 5.856 4.856C5.759 4.952 5.641 5 5.5 5L4.5 5C4.182 5 3.875 5.059 3.58 5.176ZM10 10.5C10 10.359 10.048 10.241 10.144 10.144C10.241 10.048 10.359 10 10.5 10L11.5 10C11.818 10 12.125 9.941 12.42 9.824C12.741 9.697 13.024 9.512 13.268 9.268C13.512 9.024 13.697 8.741 13.824 8.42C13.941 8.125 14 7.818 14 7.5C14 7.182 13.941 6.875 13.824 6.58C13.697 6.259 13.512 5.976 13.268 5.732C13.024 5.488 12.741 5.303 12.42 5.176C12.125 5.059 11.818 5 11.5 5L10.5 5C10.359 5 10.241 4.952 10.144 4.856C10.048 4.759 10 4.641 10 4.5C10 4.359 10.048 4.241 10.144 4.144C10.241 4.048 10.359 4 10.5 4L11.5 4C11.945 4 12.375 4.082 12.788 4.246C13.238 4.424 13.633 4.683 13.975 5.025C14.317 5.367 14.576 5.762 14.754 6.212C14.918 6.625 15 7.055 15 7.5C15 7.945 14.918 8.375 14.754 8.788C14.576 9.238 14.317 9.633 13.975 9.975C13.633 10.317 13.238 10.576 12.788 10.754C12.375 10.918 11.945 11 11.5 11L10.5 11C10.359 11 10.241 10.952 10.144 10.856C10.048 10.759 10 10.641 10 10.5ZM10.856 7.144C10.952 7.241 11 7.359 11 7.5C11 7.641 10.952 7.759 10.856 7.856C10.759 7.952 10.641 8 10.5 8L5.5 8C5.359 8 5.241 7.952 5.144 7.856C5.048 7.759 5 7.641 5 7.5C5 7.359 5.048 7.241 5.144 7.144C5.241 7.048 5.359 7 5.5 7L10.5 7C10.641 7 10.759 7.048 10.856 7.144Z"/>
</vector>
```

### Flutter

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

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

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

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

  @override
  void paint(Canvas canvas, Size size) {
    canvas.scale(size.width / 16, size.height / 16);
    final p = Path()
      ..moveTo(3.58, 5.176)
      ..cubicTo(3.259, 5.303, 2.976, 5.488, 2.732, 5.732)
      ..cubicTo(2.488, 5.976, 2.303, 6.259, 2.176, 6.58)
      ..cubicTo(2.059, 6.875, 2, 7.182, 2, 7.5)
      ..cubicTo(2, 7.818, 2.059, 8.125, 2.176, 8.42)
      ..cubicTo(2.303, 8.741, 2.488, 9.024, 2.732, 9.268)
      ..cubicTo(2.976, 9.512, 3.259, 9.697, 3.58, 9.824)
      ..cubicTo(3.875, 9.941, 4.182, 10, 4.5, 10)
      ..lineTo(5.5, 10)
      ..cubicTo(5.641, 10, 5.759, 10.048, 5.856, 10.144)
      ..cubicTo(5.952, 10.241, 6, 10.359, 6, 10.5)
      ..cubicTo(6, 10.641, 5.952, 10.759, 5.856, 10.856)
      ..cubicTo(5.759, 10.952, 5.641, 11, 5.5, 11)
      ..lineTo(4.5, 11)
      ..cubicTo(4.055, 11, 3.625, 10.918, 3.212, 10.754)
      ..cubicTo(2.762, 10.576, 2.367, 10.317, 2.025, 9.975)
      ..cubicTo(1.683, 9.633, 1.424, 9.238, 1.246, 8.788)
      ..cubicTo(1.082, 8.375, 1, 7.945, 1, 7.5)
      ..cubicTo(1, 7.055, 1.082, 6.625, 1.246, 6.212)
      ..cubicTo(1.424, 5.762, 1.683, 5.367, 2.025, 5.025)
      ..cubicTo(2.367, 4.683, 2.762, 4.424, 3.212, 4.246)
      ..cubicTo(3.625, 4.082, 4.055, 4, 4.5, 4)
      ..lineTo(5.5, 4)
      ..cubicTo(5.641, 4, 5.759, 4.048, 5.856, 4.144)
      ..cubicTo(5.952, 4.241, 6, 4.359, 6, 4.5)
      ..cubicTo(6, 4.641, 5.952, 4.759, 5.856, 4.856)
      ..cubicTo(5.759, 4.952, 5.641, 5, 5.5, 5)
      ..lineTo(4.5, 5)
      ..cubicTo(4.182, 5, 3.875, 5.059, 3.58, 5.176)
      ..close()
      ..moveTo(10, 10.5)
      ..cubicTo(10, 10.359, 10.048, 10.241, 10.144, 10.144)
      ..cubicTo(10.241, 10.048, 10.359, 10, 10.5, 10)
      ..lineTo(11.5, 10)
      ..cubicTo(11.818, 10, 12.125, 9.941, 12.42, 9.824)
      ..cubicTo(12.741, 9.697, 13.024, 9.512, 13.268, 9.268)
      ..cubicTo(13.512, 9.024, 13.697, 8.741, 13.824, 8.42)
      ..cubicTo(13.941, 8.125, 14, 7.818, 14, 7.5)
      ..cubicTo(14, 7.182, 13.941, 6.875, 13.824, 6.58)
      ..cubicTo(13.697, 6.259, 13.512, 5.976, 13.268, 5.732)
      ..cubicTo(13.024, 5.488, 12.741, 5.303, 12.42, 5.176)
      ..cubicTo(12.125, 5.059, 11.818, 5, 11.5, 5)
      ..lineTo(10.5, 5)
      ..cubicTo(10.359, 5, 10.241, 4.952, 10.144, 4.856)
      ..cubicTo(10.048, 4.759, 10, 4.641, 10, 4.5)
      ..cubicTo(10, 4.359, 10.048, 4.241, 10.144, 4.144)
      ..cubicTo(10.241, 4.048, 10.359, 4, 10.5, 4)
      ..lineTo(11.5, 4)
      ..cubicTo(11.945, 4, 12.375, 4.082, 12.788, 4.246)
      ..cubicTo(13.238, 4.424, 13.633, 4.683, 13.975, 5.025)
      ..cubicTo(14.317, 5.367, 14.576, 5.762, 14.754, 6.212)
      ..cubicTo(14.918, 6.625, 15, 7.055, 15, 7.5)
      ..cubicTo(15, 7.945, 14.918, 8.375, 14.754, 8.788)
      ..cubicTo(14.576, 9.238, 14.317, 9.633, 13.975, 9.975)
      ..cubicTo(13.633, 10.317, 13.238, 10.576, 12.788, 10.754)
      ..cubicTo(12.375, 10.918, 11.945, 11, 11.5, 11)
      ..lineTo(10.5, 11)
      ..cubicTo(10.359, 11, 10.241, 10.952, 10.144, 10.856)
      ..cubicTo(10.048, 10.759, 10, 10.641, 10, 10.5)
      ..close()
      ..moveTo(10.856, 7.144)
      ..cubicTo(10.952, 7.241, 11, 7.359, 11, 7.5)
      ..cubicTo(11, 7.641, 10.952, 7.759, 10.856, 7.856)
      ..cubicTo(10.759, 7.952, 10.641, 8, 10.5, 8)
      ..lineTo(5.5, 8)
      ..cubicTo(5.359, 8, 5.241, 7.952, 5.144, 7.856)
      ..cubicTo(5.048, 7.759, 5, 7.641, 5, 7.5)
      ..cubicTo(5, 7.359, 5.048, 7.241, 5.144, 7.144)
      ..cubicTo(5.241, 7.048, 5.359, 7, 5.5, 7)
      ..lineTo(10.5, 7)
      ..cubicTo(10.641, 7, 10.759, 7.048, 10.856, 7.144)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

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