# signpost icon

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

- Category: Maps & places
- Use it for: directions, signpost, wayfinding, get directions
- Tags: signpost, sign, directions, wayfinding, crossroads, guide, junction
- Component name: SignpostIcon
- Added: 2026-10-14

## Alternatives

- `navigation`: turn-by-turn navigation
- `route`: a route or itinerary

## Also fits

- navigation: directions or wayfinding
- route: directions or wayfinding

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

The SVG of every style: https://gentleface.com/icons/signpost.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="M11.615 1.222C11.972 1.37 12.287 1.58 12.561 1.854L13.5 2.793C13.695 2.988 13.793 3.224 13.793 3.5C13.793 3.776 13.695 4.012 13.5 4.207L12.561 5.146C12.287 5.42 11.972 5.63 11.615 5.778C11.258 5.926 10.886 6 10.5 6L8 6L8 7L11 7C11.276 7 11.512 7.098 11.707 7.293C11.902 7.488 12 7.724 12 8L12 11C12 11.276 11.902 11.512 11.707 11.707C11.512 11.902 11.276 12 11 12L8 12L8 14.5C8 14.641 7.952 14.759 7.856 14.856C7.759 14.952 7.641 15 7.5 15C7.359 15 7.241 14.952 7.144 14.856C7.048 14.759 7 14.641 7 14.5L7 12L4.5 12C4.114 12 3.742 11.926 3.385 11.778C3.028 11.63 2.713 11.42 2.439 11.146L1.5 10.207C1.305 10.012 1.207 9.776 1.207 9.5C1.207 9.224 1.305 8.988 1.5 8.793L2.439 7.854C2.713 7.58 3.028 7.37 3.385 7.222C3.742 7.074 4.114 7 4.5 7L7 7L7 6L4 6C3.724 6 3.488 5.902 3.293 5.707C3.098 5.512 3 5.276 3 5L3 2C3 1.724 3.098 1.488 3.293 1.293C3.488 1.098 3.724 1 4 1L10.5 1C10.886 1 11.258 1.074 11.615 1.222ZM4 5L10.5 5C10.754 5 10.998 4.951 11.233 4.854C11.467 4.757 11.674 4.619 11.854 4.439L12.793 3.5L11.854 2.561C11.674 2.381 11.467 2.243 11.233 2.146C10.998 2.049 10.754 2 10.5 2L4 2L4 5ZM3.146 10.439C3.326 10.619 3.533 10.757 3.767 10.854C4.002 10.951 4.246 11 4.5 11L11 11L11 8L4.5 8C4.246 8 4.002 8.049 3.767 8.146C3.533 8.243 3.326 8.381 3.146 8.561L2.207 9.5L3.146 10.439Z"/></svg>
```

### React

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

export function SignpostIcon(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="M11.615 1.222C11.972 1.37 12.287 1.58 12.561 1.854L13.5 2.793C13.695 2.988 13.793 3.224 13.793 3.5C13.793 3.776 13.695 4.012 13.5 4.207L12.561 5.146C12.287 5.42 11.972 5.63 11.615 5.778C11.258 5.926 10.886 6 10.5 6L8 6L8 7L11 7C11.276 7 11.512 7.098 11.707 7.293C11.902 7.488 12 7.724 12 8L12 11C12 11.276 11.902 11.512 11.707 11.707C11.512 11.902 11.276 12 11 12L8 12L8 14.5C8 14.641 7.952 14.759 7.856 14.856C7.759 14.952 7.641 15 7.5 15C7.359 15 7.241 14.952 7.144 14.856C7.048 14.759 7 14.641 7 14.5L7 12L4.5 12C4.114 12 3.742 11.926 3.385 11.778C3.028 11.63 2.713 11.42 2.439 11.146L1.5 10.207C1.305 10.012 1.207 9.776 1.207 9.5C1.207 9.224 1.305 8.988 1.5 8.793L2.439 7.854C2.713 7.58 3.028 7.37 3.385 7.222C3.742 7.074 4.114 7 4.5 7L7 7L7 6L4 6C3.724 6 3.488 5.902 3.293 5.707C3.098 5.512 3 5.276 3 5L3 2C3 1.724 3.098 1.488 3.293 1.293C3.488 1.098 3.724 1 4 1L10.5 1C10.886 1 11.258 1.074 11.615 1.222ZM4 5L10.5 5C10.754 5 10.998 4.951 11.233 4.854C11.467 4.757 11.674 4.619 11.854 4.439L12.793 3.5L11.854 2.561C11.674 2.381 11.467 2.243 11.233 2.146C10.998 2.049 10.754 2 10.5 2L4 2L4 5ZM3.146 10.439C3.326 10.619 3.533 10.757 3.767 10.854C4.002 10.951 4.246 11 4.5 11L11 11L11 8L4.5 8C4.246 8 4.002 8.049 3.767 8.146C3.533 8.243 3.326 8.381 3.146 8.561L2.207 9.5L3.146 10.439Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "signpost" (line-round), MIT. https://gentleface.com/icons/signpost -->
<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="M11.615 1.222C11.972 1.37 12.287 1.58 12.561 1.854L13.5 2.793C13.695 2.988 13.793 3.224 13.793 3.5C13.793 3.776 13.695 4.012 13.5 4.207L12.561 5.146C12.287 5.42 11.972 5.63 11.615 5.778C11.258 5.926 10.886 6 10.5 6L8 6L8 7L11 7C11.276 7 11.512 7.098 11.707 7.293C11.902 7.488 12 7.724 12 8L12 11C12 11.276 11.902 11.512 11.707 11.707C11.512 11.902 11.276 12 11 12L8 12L8 14.5C8 14.641 7.952 14.759 7.856 14.856C7.759 14.952 7.641 15 7.5 15C7.359 15 7.241 14.952 7.144 14.856C7.048 14.759 7 14.641 7 14.5L7 12L4.5 12C4.114 12 3.742 11.926 3.385 11.778C3.028 11.63 2.713 11.42 2.439 11.146L1.5 10.207C1.305 10.012 1.207 9.776 1.207 9.5C1.207 9.224 1.305 8.988 1.5 8.793L2.439 7.854C2.713 7.58 3.028 7.37 3.385 7.222C3.742 7.074 4.114 7 4.5 7L7 7L7 6L4 6C3.724 6 3.488 5.902 3.293 5.707C3.098 5.512 3 5.276 3 5L3 2C3 1.724 3.098 1.488 3.293 1.293C3.488 1.098 3.724 1 4 1L10.5 1C10.886 1 11.258 1.074 11.615 1.222ZM4 5L10.5 5C10.754 5 10.998 4.951 11.233 4.854C11.467 4.757 11.674 4.619 11.854 4.439L12.793 3.5L11.854 2.561C11.674 2.381 11.467 2.243 11.233 2.146C10.998 2.049 10.754 2 10.5 2L4 2L4 5ZM3.146 10.439C3.326 10.619 3.533 10.757 3.767 10.854C4.002 10.951 4.246 11 4.5 11L11 11L11 8L4.5 8C4.246 8 4.002 8.049 3.767 8.146C3.533 8.243 3.326 8.381 3.146 8.561L2.207 9.5L3.146 10.439Z" />
  </svg>
</template>
```

### Svelte

```svelte
<!-- Gentleface "signpost" (line-round), MIT. https://gentleface.com/icons/signpost -->
<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="M11.615 1.222C11.972 1.37 12.287 1.58 12.561 1.854L13.5 2.793C13.695 2.988 13.793 3.224 13.793 3.5C13.793 3.776 13.695 4.012 13.5 4.207L12.561 5.146C12.287 5.42 11.972 5.63 11.615 5.778C11.258 5.926 10.886 6 10.5 6L8 6L8 7L11 7C11.276 7 11.512 7.098 11.707 7.293C11.902 7.488 12 7.724 12 8L12 11C12 11.276 11.902 11.512 11.707 11.707C11.512 11.902 11.276 12 11 12L8 12L8 14.5C8 14.641 7.952 14.759 7.856 14.856C7.759 14.952 7.641 15 7.5 15C7.359 15 7.241 14.952 7.144 14.856C7.048 14.759 7 14.641 7 14.5L7 12L4.5 12C4.114 12 3.742 11.926 3.385 11.778C3.028 11.63 2.713 11.42 2.439 11.146L1.5 10.207C1.305 10.012 1.207 9.776 1.207 9.5C1.207 9.224 1.305 8.988 1.5 8.793L2.439 7.854C2.713 7.58 3.028 7.37 3.385 7.222C3.742 7.074 4.114 7 4.5 7L7 7L7 6L4 6C3.724 6 3.488 5.902 3.293 5.707C3.098 5.512 3 5.276 3 5L3 2C3 1.724 3.098 1.488 3.293 1.293C3.488 1.098 3.724 1 4 1L10.5 1C10.886 1 11.258 1.074 11.615 1.222ZM4 5L10.5 5C10.754 5 10.998 4.951 11.233 4.854C11.467 4.757 11.674 4.619 11.854 4.439L12.793 3.5L11.854 2.561C11.674 2.381 11.467 2.243 11.233 2.146C10.998 2.049 10.754 2 10.5 2L4 2L4 5ZM3.146 10.439C3.326 10.619 3.533 10.757 3.767 10.854C4.002 10.951 4.246 11 4.5 11L11 11L11 8L4.5 8C4.246 8 4.002 8.049 3.767 8.146C3.533 8.243 3.326 8.381 3.146 8.561L2.207 9.5L3.146 10.439Z" />
</svg>
```

### HTML img

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

### CSS

```css
/* Gentleface "signpost" (line-round), MIT. https://gentleface.com/icons/signpost. Takes the text color. */
.icon-signpost {
  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='M11.615 1.222C11.972 1.37 12.287 1.58 12.561 1.854L13.5 2.793C13.695 2.988 13.793 3.224 13.793 3.5C13.793 3.776 13.695 4.012 13.5 4.207L12.561 5.146C12.287 5.42 11.972 5.63 11.615 5.778C11.258 5.926 10.886 6 10.5 6L8 6L8 7L11 7C11.276 7 11.512 7.098 11.707 7.293C11.902 7.488 12 7.724 12 8L12 11C12 11.276 11.902 11.512 11.707 11.707C11.512 11.902 11.276 12 11 12L8 12L8 14.5C8 14.641 7.952 14.759 7.856 14.856C7.759 14.952 7.641 15 7.5 15C7.359 15 7.241 14.952 7.144 14.856C7.048 14.759 7 14.641 7 14.5L7 12L4.5 12C4.114 12 3.742 11.926 3.385 11.778C3.028 11.63 2.713 11.42 2.439 11.146L1.5 10.207C1.305 10.012 1.207 9.776 1.207 9.5C1.207 9.224 1.305 8.988 1.5 8.793L2.439 7.854C2.713 7.58 3.028 7.37 3.385 7.222C3.742 7.074 4.114 7 4.5 7L7 7L7 6L4 6C3.724 6 3.488 5.902 3.293 5.707C3.098 5.512 3 5.276 3 5L3 2C3 1.724 3.098 1.488 3.293 1.293C3.488 1.098 3.724 1 4 1L10.5 1C10.886 1 11.258 1.074 11.615 1.222ZM4 5L10.5 5C10.754 5 10.998 4.951 11.233 4.854C11.467 4.757 11.674 4.619 11.854 4.439L12.793 3.5L11.854 2.561C11.674 2.381 11.467 2.243 11.233 2.146C10.998 2.049 10.754 2 10.5 2L4 2L4 5ZM3.146 10.439C3.326 10.619 3.533 10.757 3.767 10.854C4.002 10.951 4.246 11 4.5 11L11 11L11 8L4.5 8C4.246 8 4.002 8.049 3.767 8.146C3.533 8.243 3.326 8.381 3.146 8.561L2.207 9.5L3.146 10.439Z'/%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='M11.615 1.222C11.972 1.37 12.287 1.58 12.561 1.854L13.5 2.793C13.695 2.988 13.793 3.224 13.793 3.5C13.793 3.776 13.695 4.012 13.5 4.207L12.561 5.146C12.287 5.42 11.972 5.63 11.615 5.778C11.258 5.926 10.886 6 10.5 6L8 6L8 7L11 7C11.276 7 11.512 7.098 11.707 7.293C11.902 7.488 12 7.724 12 8L12 11C12 11.276 11.902 11.512 11.707 11.707C11.512 11.902 11.276 12 11 12L8 12L8 14.5C8 14.641 7.952 14.759 7.856 14.856C7.759 14.952 7.641 15 7.5 15C7.359 15 7.241 14.952 7.144 14.856C7.048 14.759 7 14.641 7 14.5L7 12L4.5 12C4.114 12 3.742 11.926 3.385 11.778C3.028 11.63 2.713 11.42 2.439 11.146L1.5 10.207C1.305 10.012 1.207 9.776 1.207 9.5C1.207 9.224 1.305 8.988 1.5 8.793L2.439 7.854C2.713 7.58 3.028 7.37 3.385 7.222C3.742 7.074 4.114 7 4.5 7L7 7L7 6L4 6C3.724 6 3.488 5.902 3.293 5.707C3.098 5.512 3 5.276 3 5L3 2C3 1.724 3.098 1.488 3.293 1.293C3.488 1.098 3.724 1 4 1L10.5 1C10.886 1 11.258 1.074 11.615 1.222ZM4 5L10.5 5C10.754 5 10.998 4.951 11.233 4.854C11.467 4.757 11.674 4.619 11.854 4.439L12.793 3.5L11.854 2.561C11.674 2.381 11.467 2.243 11.233 2.146C10.998 2.049 10.754 2 10.5 2L4 2L4 5ZM3.146 10.439C3.326 10.619 3.533 10.757 3.767 10.854C4.002 10.951 4.246 11 4.5 11L11 11L11 8L4.5 8C4.246 8 4.002 8.049 3.767 8.146C3.533 8.243 3.326 8.381 3.146 8.561L2.207 9.5L3.146 10.439Z'/%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='M11.615 1.222C11.972 1.37 12.287 1.58 12.561 1.854L13.5 2.793C13.695 2.988 13.793 3.224 13.793 3.5C13.793 3.776 13.695 4.012 13.5 4.207L12.561 5.146C12.287 5.42 11.972 5.63 11.615 5.778C11.258 5.926 10.886 6 10.5 6L8 6L8 7L11 7C11.276 7 11.512 7.098 11.707 7.293C11.902 7.488 12 7.724 12 8L12 11C12 11.276 11.902 11.512 11.707 11.707C11.512 11.902 11.276 12 11 12L8 12L8 14.5C8 14.641 7.952 14.759 7.856 14.856C7.759 14.952 7.641 15 7.5 15C7.359 15 7.241 14.952 7.144 14.856C7.048 14.759 7 14.641 7 14.5L7 12L4.5 12C4.114 12 3.742 11.926 3.385 11.778C3.028 11.63 2.713 11.42 2.439 11.146L1.5 10.207C1.305 10.012 1.207 9.776 1.207 9.5C1.207 9.224 1.305 8.988 1.5 8.793L2.439 7.854C2.713 7.58 3.028 7.37 3.385 7.222C3.742 7.074 4.114 7 4.5 7L7 7L7 6L4 6C3.724 6 3.488 5.902 3.293 5.707C3.098 5.512 3 5.276 3 5L3 2C3 1.724 3.098 1.488 3.293 1.293C3.488 1.098 3.724 1 4 1L10.5 1C10.886 1 11.258 1.074 11.615 1.222ZM4 5L10.5 5C10.754 5 10.998 4.951 11.233 4.854C11.467 4.757 11.674 4.619 11.854 4.439L12.793 3.5L11.854 2.561C11.674 2.381 11.467 2.243 11.233 2.146C10.998 2.049 10.754 2 10.5 2L4 2L4 5ZM3.146 10.439C3.326 10.619 3.533 10.757 3.767 10.854C4.002 10.951 4.246 11 4.5 11L11 11L11 8L4.5 8C4.246 8 4.002 8.049 3.767 8.146C3.533 8.243 3.326 8.381 3.146 8.561L2.207 9.5L3.146 10.439Z'/%3E%3C/svg%3E
```

### Sprite

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

### SwiftUI

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

struct SignpostIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 11.615, y: 1.222))
        p.addCurve(to: CGPoint(x: 12.561, y: 1.854), control1: CGPoint(x: 11.972, y: 1.37), control2: CGPoint(x: 12.287, y: 1.58))
        p.addLine(to: CGPoint(x: 13.5, y: 2.793))
        p.addCurve(to: CGPoint(x: 13.793, y: 3.5), control1: CGPoint(x: 13.695, y: 2.988), control2: CGPoint(x: 13.793, y: 3.224))
        p.addCurve(to: CGPoint(x: 13.5, y: 4.207), control1: CGPoint(x: 13.793, y: 3.776), control2: CGPoint(x: 13.695, y: 4.012))
        p.addLine(to: CGPoint(x: 12.561, y: 5.146))
        p.addCurve(to: CGPoint(x: 11.615, y: 5.778), control1: CGPoint(x: 12.287, y: 5.42), control2: CGPoint(x: 11.972, y: 5.63))
        p.addCurve(to: CGPoint(x: 10.5, y: 6), control1: CGPoint(x: 11.258, y: 5.926), control2: CGPoint(x: 10.886, y: 6))
        p.addLine(to: CGPoint(x: 8, y: 6))
        p.addLine(to: CGPoint(x: 8, y: 7))
        p.addLine(to: CGPoint(x: 11, y: 7))
        p.addCurve(to: CGPoint(x: 11.707, y: 7.293), control1: CGPoint(x: 11.276, y: 7), control2: CGPoint(x: 11.512, y: 7.098))
        p.addCurve(to: CGPoint(x: 12, y: 8), control1: CGPoint(x: 11.902, y: 7.488), control2: CGPoint(x: 12, y: 7.724))
        p.addLine(to: CGPoint(x: 12, y: 11))
        p.addCurve(to: CGPoint(x: 11.707, y: 11.707), control1: CGPoint(x: 12, y: 11.276), control2: CGPoint(x: 11.902, y: 11.512))
        p.addCurve(to: CGPoint(x: 11, y: 12), control1: CGPoint(x: 11.512, y: 11.902), control2: CGPoint(x: 11.276, y: 12))
        p.addLine(to: CGPoint(x: 8, y: 12))
        p.addLine(to: CGPoint(x: 8, y: 14.5))
        p.addCurve(to: CGPoint(x: 7.856, y: 14.856), control1: CGPoint(x: 8, y: 14.641), control2: CGPoint(x: 7.952, y: 14.759))
        p.addCurve(to: CGPoint(x: 7.5, y: 15), control1: CGPoint(x: 7.759, y: 14.952), control2: CGPoint(x: 7.641, y: 15))
        p.addCurve(to: CGPoint(x: 7.144, y: 14.856), control1: CGPoint(x: 7.359, y: 15), control2: CGPoint(x: 7.241, y: 14.952))
        p.addCurve(to: CGPoint(x: 7, y: 14.5), control1: CGPoint(x: 7.048, y: 14.759), control2: CGPoint(x: 7, y: 14.641))
        p.addLine(to: CGPoint(x: 7, y: 12))
        p.addLine(to: CGPoint(x: 4.5, y: 12))
        p.addCurve(to: CGPoint(x: 3.385, y: 11.778), control1: CGPoint(x: 4.114, y: 12), control2: CGPoint(x: 3.742, y: 11.926))
        p.addCurve(to: CGPoint(x: 2.439, y: 11.146), control1: CGPoint(x: 3.028, y: 11.63), control2: CGPoint(x: 2.713, y: 11.42))
        p.addLine(to: CGPoint(x: 1.5, y: 10.207))
        p.addCurve(to: CGPoint(x: 1.207, y: 9.5), control1: CGPoint(x: 1.305, y: 10.012), control2: CGPoint(x: 1.207, y: 9.776))
        p.addCurve(to: CGPoint(x: 1.5, y: 8.793), control1: CGPoint(x: 1.207, y: 9.224), control2: CGPoint(x: 1.305, y: 8.988))
        p.addLine(to: CGPoint(x: 2.439, y: 7.854))
        p.addCurve(to: CGPoint(x: 3.385, y: 7.222), control1: CGPoint(x: 2.713, y: 7.58), control2: CGPoint(x: 3.028, y: 7.37))
        p.addCurve(to: CGPoint(x: 4.5, y: 7), control1: CGPoint(x: 3.742, y: 7.074), control2: CGPoint(x: 4.114, y: 7))
        p.addLine(to: CGPoint(x: 7, y: 7))
        p.addLine(to: CGPoint(x: 7, y: 6))
        p.addLine(to: CGPoint(x: 4, y: 6))
        p.addCurve(to: CGPoint(x: 3.293, y: 5.707), control1: CGPoint(x: 3.724, y: 6), control2: CGPoint(x: 3.488, y: 5.902))
        p.addCurve(to: CGPoint(x: 3, y: 5), control1: CGPoint(x: 3.098, y: 5.512), control2: CGPoint(x: 3, y: 5.276))
        p.addLine(to: CGPoint(x: 3, y: 2))
        p.addCurve(to: CGPoint(x: 3.293, y: 1.293), control1: CGPoint(x: 3, y: 1.724), control2: CGPoint(x: 3.098, y: 1.488))
        p.addCurve(to: CGPoint(x: 4, y: 1), control1: CGPoint(x: 3.488, y: 1.098), control2: CGPoint(x: 3.724, y: 1))
        p.addLine(to: CGPoint(x: 10.5, y: 1))
        p.addCurve(to: CGPoint(x: 11.615, y: 1.222), control1: CGPoint(x: 10.886, y: 1), control2: CGPoint(x: 11.258, y: 1.074))
        p.closeSubpath()
        p.move(to: CGPoint(x: 4, y: 5))
        p.addLine(to: CGPoint(x: 10.5, y: 5))
        p.addCurve(to: CGPoint(x: 11.233, y: 4.854), control1: CGPoint(x: 10.754, y: 5), control2: CGPoint(x: 10.998, y: 4.951))
        p.addCurve(to: CGPoint(x: 11.854, y: 4.439), control1: CGPoint(x: 11.467, y: 4.757), control2: CGPoint(x: 11.674, y: 4.619))
        p.addLine(to: CGPoint(x: 12.793, y: 3.5))
        p.addLine(to: CGPoint(x: 11.854, y: 2.561))
        p.addCurve(to: CGPoint(x: 11.233, y: 2.146), control1: CGPoint(x: 11.674, y: 2.381), control2: CGPoint(x: 11.467, y: 2.243))
        p.addCurve(to: CGPoint(x: 10.5, y: 2), control1: CGPoint(x: 10.998, y: 2.049), control2: CGPoint(x: 10.754, y: 2))
        p.addLine(to: CGPoint(x: 4, y: 2))
        p.addLine(to: CGPoint(x: 4, y: 5))
        p.closeSubpath()
        p.move(to: CGPoint(x: 3.146, y: 10.439))
        p.addCurve(to: CGPoint(x: 3.767, y: 10.854), control1: CGPoint(x: 3.326, y: 10.619), control2: CGPoint(x: 3.533, y: 10.757))
        p.addCurve(to: CGPoint(x: 4.5, y: 11), control1: CGPoint(x: 4.002, y: 10.951), control2: CGPoint(x: 4.246, y: 11))
        p.addLine(to: CGPoint(x: 11, y: 11))
        p.addLine(to: CGPoint(x: 11, y: 8))
        p.addLine(to: CGPoint(x: 4.5, y: 8))
        p.addCurve(to: CGPoint(x: 3.767, y: 8.146), control1: CGPoint(x: 4.246, y: 8), control2: CGPoint(x: 4.002, y: 8.049))
        p.addCurve(to: CGPoint(x: 3.146, y: 8.561), control1: CGPoint(x: 3.533, y: 8.243), control2: CGPoint(x: 3.326, y: 8.381))
        p.addLine(to: CGPoint(x: 2.207, y: 9.5))
        p.addLine(to: CGPoint(x: 3.146, y: 10.439))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

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

### Compose

```kotlin
// Gentleface "signpost" (line-round), MIT. https://gentleface.com/icons/signpost
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 SignpostIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "signpost", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M11.615 1.222C11.972 1.37 12.287 1.58 12.561 1.854L13.5 2.793C13.695 2.988 13.793 3.224 13.793 3.5C13.793 3.776 13.695 4.012 13.5 4.207L12.561 5.146C12.287 5.42 11.972 5.63 11.615 5.778C11.258 5.926 10.886 6 10.5 6L8 6L8 7L11 7C11.276 7 11.512 7.098 11.707 7.293C11.902 7.488 12 7.724 12 8L12 11C12 11.276 11.902 11.512 11.707 11.707C11.512 11.902 11.276 12 11 12L8 12L8 14.5C8 14.641 7.952 14.759 7.856 14.856C7.759 14.952 7.641 15 7.5 15C7.359 15 7.241 14.952 7.144 14.856C7.048 14.759 7 14.641 7 14.5L7 12L4.5 12C4.114 12 3.742 11.926 3.385 11.778C3.028 11.63 2.713 11.42 2.439 11.146L1.5 10.207C1.305 10.012 1.207 9.776 1.207 9.5C1.207 9.224 1.305 8.988 1.5 8.793L2.439 7.854C2.713 7.58 3.028 7.37 3.385 7.222C3.742 7.074 4.114 7 4.5 7L7 7L7 6L4 6C3.724 6 3.488 5.902 3.293 5.707C3.098 5.512 3 5.276 3 5L3 2C3 1.724 3.098 1.488 3.293 1.293C3.488 1.098 3.724 1 4 1L10.5 1C10.886 1 11.258 1.074 11.615 1.222ZM4 5L10.5 5C10.754 5 10.998 4.951 11.233 4.854C11.467 4.757 11.674 4.619 11.854 4.439L12.793 3.5L11.854 2.561C11.674 2.381 11.467 2.243 11.233 2.146C10.998 2.049 10.754 2 10.5 2L4 2L4 5ZM3.146 10.439C3.326 10.619 3.533 10.757 3.767 10.854C4.002 10.951 4.246 11 4.5 11L11 11L11 8L4.5 8C4.246 8 4.002 8.049 3.767 8.146C3.533 8.243 3.326 8.381 3.146 8.561L2.207 9.5L3.146 10.439Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

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

### Android XML

```xml
<!-- res/drawable/ic_signpost.xml · Gentleface "signpost" (line-round), MIT. https://gentleface.com/icons/signpost -->
<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="M11.615 1.222C11.972 1.37 12.287 1.58 12.561 1.854L13.5 2.793C13.695 2.988 13.793 3.224 13.793 3.5C13.793 3.776 13.695 4.012 13.5 4.207L12.561 5.146C12.287 5.42 11.972 5.63 11.615 5.778C11.258 5.926 10.886 6 10.5 6L8 6L8 7L11 7C11.276 7 11.512 7.098 11.707 7.293C11.902 7.488 12 7.724 12 8L12 11C12 11.276 11.902 11.512 11.707 11.707C11.512 11.902 11.276 12 11 12L8 12L8 14.5C8 14.641 7.952 14.759 7.856 14.856C7.759 14.952 7.641 15 7.5 15C7.359 15 7.241 14.952 7.144 14.856C7.048 14.759 7 14.641 7 14.5L7 12L4.5 12C4.114 12 3.742 11.926 3.385 11.778C3.028 11.63 2.713 11.42 2.439 11.146L1.5 10.207C1.305 10.012 1.207 9.776 1.207 9.5C1.207 9.224 1.305 8.988 1.5 8.793L2.439 7.854C2.713 7.58 3.028 7.37 3.385 7.222C3.742 7.074 4.114 7 4.5 7L7 7L7 6L4 6C3.724 6 3.488 5.902 3.293 5.707C3.098 5.512 3 5.276 3 5L3 2C3 1.724 3.098 1.488 3.293 1.293C3.488 1.098 3.724 1 4 1L10.5 1C10.886 1 11.258 1.074 11.615 1.222ZM4 5L10.5 5C10.754 5 10.998 4.951 11.233 4.854C11.467 4.757 11.674 4.619 11.854 4.439L12.793 3.5L11.854 2.561C11.674 2.381 11.467 2.243 11.233 2.146C10.998 2.049 10.754 2 10.5 2L4 2L4 5ZM3.146 10.439C3.326 10.619 3.533 10.757 3.767 10.854C4.002 10.951 4.246 11 4.5 11L11 11L11 8L4.5 8C4.246 8 4.002 8.049 3.767 8.146C3.533 8.243 3.326 8.381 3.146 8.561L2.207 9.5L3.146 10.439Z"/>
</vector>
```

### Flutter

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

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

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

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

  @override
  void paint(Canvas canvas, Size size) {
    canvas.scale(size.width / 16, size.height / 16);
    final p = Path()
      ..moveTo(11.615, 1.222)
      ..cubicTo(11.972, 1.37, 12.287, 1.58, 12.561, 1.854)
      ..lineTo(13.5, 2.793)
      ..cubicTo(13.695, 2.988, 13.793, 3.224, 13.793, 3.5)
      ..cubicTo(13.793, 3.776, 13.695, 4.012, 13.5, 4.207)
      ..lineTo(12.561, 5.146)
      ..cubicTo(12.287, 5.42, 11.972, 5.63, 11.615, 5.778)
      ..cubicTo(11.258, 5.926, 10.886, 6, 10.5, 6)
      ..lineTo(8, 6)
      ..lineTo(8, 7)
      ..lineTo(11, 7)
      ..cubicTo(11.276, 7, 11.512, 7.098, 11.707, 7.293)
      ..cubicTo(11.902, 7.488, 12, 7.724, 12, 8)
      ..lineTo(12, 11)
      ..cubicTo(12, 11.276, 11.902, 11.512, 11.707, 11.707)
      ..cubicTo(11.512, 11.902, 11.276, 12, 11, 12)
      ..lineTo(8, 12)
      ..lineTo(8, 14.5)
      ..cubicTo(8, 14.641, 7.952, 14.759, 7.856, 14.856)
      ..cubicTo(7.759, 14.952, 7.641, 15, 7.5, 15)
      ..cubicTo(7.359, 15, 7.241, 14.952, 7.144, 14.856)
      ..cubicTo(7.048, 14.759, 7, 14.641, 7, 14.5)
      ..lineTo(7, 12)
      ..lineTo(4.5, 12)
      ..cubicTo(4.114, 12, 3.742, 11.926, 3.385, 11.778)
      ..cubicTo(3.028, 11.63, 2.713, 11.42, 2.439, 11.146)
      ..lineTo(1.5, 10.207)
      ..cubicTo(1.305, 10.012, 1.207, 9.776, 1.207, 9.5)
      ..cubicTo(1.207, 9.224, 1.305, 8.988, 1.5, 8.793)
      ..lineTo(2.439, 7.854)
      ..cubicTo(2.713, 7.58, 3.028, 7.37, 3.385, 7.222)
      ..cubicTo(3.742, 7.074, 4.114, 7, 4.5, 7)
      ..lineTo(7, 7)
      ..lineTo(7, 6)
      ..lineTo(4, 6)
      ..cubicTo(3.724, 6, 3.488, 5.902, 3.293, 5.707)
      ..cubicTo(3.098, 5.512, 3, 5.276, 3, 5)
      ..lineTo(3, 2)
      ..cubicTo(3, 1.724, 3.098, 1.488, 3.293, 1.293)
      ..cubicTo(3.488, 1.098, 3.724, 1, 4, 1)
      ..lineTo(10.5, 1)
      ..cubicTo(10.886, 1, 11.258, 1.074, 11.615, 1.222)
      ..close()
      ..moveTo(4, 5)
      ..lineTo(10.5, 5)
      ..cubicTo(10.754, 5, 10.998, 4.951, 11.233, 4.854)
      ..cubicTo(11.467, 4.757, 11.674, 4.619, 11.854, 4.439)
      ..lineTo(12.793, 3.5)
      ..lineTo(11.854, 2.561)
      ..cubicTo(11.674, 2.381, 11.467, 2.243, 11.233, 2.146)
      ..cubicTo(10.998, 2.049, 10.754, 2, 10.5, 2)
      ..lineTo(4, 2)
      ..lineTo(4, 5)
      ..close()
      ..moveTo(3.146, 10.439)
      ..cubicTo(3.326, 10.619, 3.533, 10.757, 3.767, 10.854)
      ..cubicTo(4.002, 10.951, 4.246, 11, 4.5, 11)
      ..lineTo(11, 11)
      ..lineTo(11, 8)
      ..lineTo(4.5, 8)
      ..cubicTo(4.246, 8, 4.002, 8.049, 3.767, 8.146)
      ..cubicTo(3.533, 8.243, 3.326, 8.381, 3.146, 8.561)
      ..lineTo(2.207, 9.5)
      ..lineTo(3.146, 10.439)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

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