# train-track icon

Train track. Gentleface icon, drawn on the 16 px pixel grid. Free, MIT licensed. Page: https://gentleface.com/icons/train-track

- Category: Transportation
- Use it for: train track, rail line, railway line, railroad track
- Tags: train-track, rail-line, railway, railroad, rails, track, sleepers, train, rail, tram-line
- Component name: TrainTrackIcon
- Added: 2026-11-06
- Since: version 0.4.0
- npm: `import { TrainTrackIcon } from '@gentleface/react';` (@gentleface/react 0.6.0)

## Don't confuse with

- `footprints`: trail or footprints, not rail tracks

## Also fits

- road: a rail line

## Not for

- footprints (use `footprints`): rail tracks, not footprints

## Files

Each icon is drawn on the 16 px grid, and most also on the 20 and 24 px grids (at 24 in three weights: light 1 px, regular 1.5 px, bold 2 px). Show the drawing made for your size, or an exact multiple of it, on whole pixels: 16 for 16 and 32 px, 20 for 20 and 40, 24 for 24 and 48. A size in between or a fractional position blurs it. The code on each icon page is the 16 px drawing, an SVG with fill="currentColor"; the icon page's downloads follow its Grid switch, and npm has the 20 and 24 px drawings too.

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

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

## Animated

`train-track-lay`: The rails are pulled up along their length and the sleepers are lifted away. Then the track is laid again: the sleepers drop in one by one from the near end, and the two rails run out along them.

File: https://gentleface.com/motion/train-track-lay.svg (line-round, 16 px). Native SVG animation that loops by itself. To play it once, run 0.25 s to 2.5 s. Patterns: https://gentleface.com/animated-icons.md

```svg
<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.001" stroke-linecap="round" stroke-linejoin="round"><path d="M2.5 8.5L6.5 12.5"><animate attributeName="d" dur="3.2s" repeatCount="indefinite" keyTimes="0;0.194;0.25;0.25;0.328;0.391;0.416;1" values="M2.5 8.5L6.5 12.5;M2.5 8.5L6.5 12.5;M1.9 7.9L7.1 13.1;M1.6 7.6L7.4 13.4;M1.6 7.6L7.4 13.4;M2.6 8.6L6.4 12.4;M2.5 8.5L6.5 12.5;M2.5 8.5L6.5 12.5" calcMode="spline" keySplines="0 0 1 1;.15 .75 .25 1;0 0 1 1;0 0 1 1;.6 0 .9 .4;.37 0 .63 1;0 0 1 1"/><animate attributeName="visibility" calcMode="discrete" dur="3.2s" repeatCount="indefinite" keyTimes="0;0.25;0.328" values="visible;hidden;visible"/></path><path d="M4.5 6.5L8.5 10.5"><animate attributeName="d" dur="3.2s" repeatCount="indefinite" keyTimes="0;0.209;0.266;0.266;0.369;0.431;0.456;1" values="M4.5 6.5L8.5 10.5;M4.5 6.5L8.5 10.5;M3.9 5.9L9.1 11.1;M3.6 5.6L9.4 11.4;M3.6 5.6L9.4 11.4;M4.6 6.6L8.4 10.4;M4.5 6.5L8.5 10.5;M4.5 6.5L8.5 10.5" calcMode="spline" keySplines="0 0 1 1;.15 .75 .25 1;0 0 1 1;0 0 1 1;.6 0 .9 .4;.37 0 .63 1;0 0 1 1"/><animate attributeName="visibility" calcMode="discrete" dur="3.2s" repeatCount="indefinite" keyTimes="0;0.266;0.369" values="visible;hidden;visible"/></path><path d="M6.5 4.5L10.5 8.5"><animate attributeName="d" dur="3.2s" repeatCount="indefinite" keyTimes="0;0.225;0.281;0.282;0.409;0.472;0.497;1" values="M6.5 4.5L10.5 8.5;M6.5 4.5L10.5 8.5;M5.9 3.9L11.1 9.1;M5.6 3.6L11.4 9.4;M5.6 3.6L11.4 9.4;M6.6 4.6L10.4 8.4;M6.5 4.5L10.5 8.5;M6.5 4.5L10.5 8.5" calcMode="spline" keySplines="0 0 1 1;.15 .75 .25 1;0 0 1 1;0 0 1 1;.6 0 .9 .4;.37 0 .63 1;0 0 1 1"/><animate attributeName="visibility" calcMode="discrete" dur="3.2s" repeatCount="indefinite" keyTimes="0;0.281;0.409" values="visible;hidden;visible"/></path><path d="M8.5 2.5L12.5 6.5"><animate attributeName="d" dur="3.2s" repeatCount="indefinite" keyTimes="0;0.241;0.297;0.297;0.45;0.513;0.538;1" values="M8.5 2.5L12.5 6.5;M8.5 2.5L12.5 6.5;M7.9 1.9L13.1 7.1;M7.6 1.6L13.4 7.4;M7.6 1.6L13.4 7.4;M8.6 2.6L12.4 6.4;M8.5 2.5L12.5 6.5;M8.5 2.5L12.5 6.5" calcMode="spline" keySplines="0 0 1 1;.15 .75 .25 1;0 0 1 1;0 0 1 1;.6 0 .9 .4;.37 0 .63 1;0 0 1 1"/><animate attributeName="visibility" calcMode="discrete" dur="3.2s" repeatCount="indefinite" keyTimes="0;0.297;0.45" values="visible;hidden;visible"/></path><path d="M1.5 10.5L10.5 1.5" pathLength="1"><animate attributeName="stroke-dasharray" dur="3.2s" repeatCount="indefinite" keyTimes="0;0.094;0.187;0.188;0.547;0.734;1" values="1.05 2;1.05 2;.05 2;0 2;0 2;1.05 2;1.05 2" calcMode="spline" keySplines="0 0 1 1;.6 0 .9 .4;0 0 1 1;0 0 1 1;.6 0 .25 1;0 0 1 1"/><animate attributeName="stroke-dashoffset" dur="3.2s" repeatCount="indefinite" keyTimes="0;0.094;0.187;0.188;0.547;0.734;1" values="0;0;-1;0;0;0;0" calcMode="spline" keySplines="0 0 1 1;.6 0 .9 .4;0 0 1 1;0 0 1 1;.6 0 .25 1;0 0 1 1"/><animate attributeName="visibility" calcMode="discrete" dur="3.2s" repeatCount="indefinite" keyTimes="0;0.187;0.547" values="visible;hidden;visible"/></path><path d="M4.5 13.5L13.5 4.5" pathLength="1"><animate attributeName="stroke-dasharray" dur="3.2s" repeatCount="indefinite" keyTimes="0;0.112;0.206;0.207;0.566;0.753;1" values="1.05 2;1.05 2;.05 2;0 2;0 2;1.05 2;1.05 2" calcMode="spline" keySplines="0 0 1 1;.6 0 .9 .4;0 0 1 1;0 0 1 1;.6 0 .25 1;0 0 1 1"/><animate attributeName="stroke-dashoffset" dur="3.2s" repeatCount="indefinite" keyTimes="0;0.112;0.206;0.207;0.566;0.753;1" values="0;0;-1;0;0;0;0" calcMode="spline" keySplines="0 0 1 1;.6 0 .9 .4;0 0 1 1;0 0 1 1;.6 0 .25 1;0 0 1 1"/><animate attributeName="visibility" calcMode="discrete" dur="3.2s" repeatCount="indefinite" keyTimes="0;0.206;0.566" values="visible;hidden;visible"/></path></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="M9.707 3L12 5.293L13.146 4.146C13.246 4.047 13.364 3.997 13.5 3.997C13.636 3.997 13.754 4.047 13.854 4.146C13.951 4.244 14 4.362 14 4.5C14 4.638 13.951 4.756 13.854 4.854L12.707 6L12.854 6.146C12.951 6.244 13 6.362 13 6.5C13 6.638 12.951 6.756 12.854 6.854C12.754 6.953 12.636 7.003 12.5 7.003C12.364 7.003 12.246 6.953 12.146 6.854L12 6.707L10.707 8L10.854 8.146C10.953 8.246 11.003 8.364 11.003 8.5C11.003 8.636 10.953 8.754 10.854 8.854C10.754 8.953 10.636 9.003 10.5 9.003C10.364 9.003 10.246 8.953 10.146 8.854L10 8.707L8.707 10L8.854 10.146C8.953 10.246 9.003 10.364 9.003 10.5C9.003 10.636 8.953 10.754 8.854 10.854C8.754 10.953 8.636 11.003 8.5 11.003C8.364 11.003 8.246 10.953 8.146 10.854L8 10.707L6.707 12L6.854 12.146C6.953 12.246 7.003 12.364 7.003 12.5C7.003 12.636 6.953 12.754 6.854 12.854C6.756 12.951 6.638 13 6.5 13C6.362 13 6.244 12.951 6.146 12.854L6 12.707L4.854 13.854C4.756 13.951 4.638 14 4.5 14C4.362 14 4.244 13.951 4.146 13.854C4.047 13.754 3.997 13.636 3.997 13.5C3.997 13.364 4.047 13.246 4.146 13.146L5.293 12L3 9.707L1.854 10.854C1.756 10.951 1.638 11 1.5 11C1.362 11 1.244 10.951 1.146 10.854C1.047 10.754 0.997 10.636 0.997 10.5C0.997 10.364 1.047 10.246 1.146 10.146L2.293 9L2.146 8.854C2.047 8.754 1.997 8.636 1.997 8.5C1.997 8.364 2.047 8.246 2.146 8.146C2.244 8.049 2.362 8 2.5 8C2.638 8 2.756 8.049 2.854 8.146L3 8.293L4.293 7L4.146 6.854C4.047 6.754 3.997 6.636 3.997 6.5C3.997 6.364 4.047 6.246 4.146 6.146C4.246 6.047 4.364 5.997 4.5 5.997C4.636 5.997 4.754 6.047 4.854 6.146L5 6.293L6.293 5L6.146 4.854C6.047 4.754 5.997 4.636 5.997 4.5C5.997 4.364 6.047 4.246 6.146 4.146C6.246 4.047 6.364 3.997 6.5 3.997C6.636 3.997 6.754 4.047 6.854 4.146L7 4.293L8.293 3L8.146 2.854C8.049 2.756 8 2.638 8 2.5C8 2.362 8.049 2.244 8.146 2.146C8.246 2.047 8.364 1.997 8.5 1.997C8.636 1.997 8.754 2.047 8.854 2.146L9 2.293L10.146 1.146C10.246 1.047 10.364 0.997 10.5 0.997C10.636 0.997 10.754 1.047 10.854 1.146C10.951 1.244 11 1.362 11 1.5C11 1.638 10.951 1.756 10.854 1.854L9.707 3ZM11.293 6L9 3.707L7.707 5L10 7.293L11.293 6ZM5.707 7L8 9.293L9.293 8L7 5.707L5.707 7ZM3.707 9L6 11.293L7.293 10L5 7.707L3.707 9Z"/></svg>
```

### React

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

export function TrainTrackIcon(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="M9.707 3L12 5.293L13.146 4.146C13.246 4.047 13.364 3.997 13.5 3.997C13.636 3.997 13.754 4.047 13.854 4.146C13.951 4.244 14 4.362 14 4.5C14 4.638 13.951 4.756 13.854 4.854L12.707 6L12.854 6.146C12.951 6.244 13 6.362 13 6.5C13 6.638 12.951 6.756 12.854 6.854C12.754 6.953 12.636 7.003 12.5 7.003C12.364 7.003 12.246 6.953 12.146 6.854L12 6.707L10.707 8L10.854 8.146C10.953 8.246 11.003 8.364 11.003 8.5C11.003 8.636 10.953 8.754 10.854 8.854C10.754 8.953 10.636 9.003 10.5 9.003C10.364 9.003 10.246 8.953 10.146 8.854L10 8.707L8.707 10L8.854 10.146C8.953 10.246 9.003 10.364 9.003 10.5C9.003 10.636 8.953 10.754 8.854 10.854C8.754 10.953 8.636 11.003 8.5 11.003C8.364 11.003 8.246 10.953 8.146 10.854L8 10.707L6.707 12L6.854 12.146C6.953 12.246 7.003 12.364 7.003 12.5C7.003 12.636 6.953 12.754 6.854 12.854C6.756 12.951 6.638 13 6.5 13C6.362 13 6.244 12.951 6.146 12.854L6 12.707L4.854 13.854C4.756 13.951 4.638 14 4.5 14C4.362 14 4.244 13.951 4.146 13.854C4.047 13.754 3.997 13.636 3.997 13.5C3.997 13.364 4.047 13.246 4.146 13.146L5.293 12L3 9.707L1.854 10.854C1.756 10.951 1.638 11 1.5 11C1.362 11 1.244 10.951 1.146 10.854C1.047 10.754 0.997 10.636 0.997 10.5C0.997 10.364 1.047 10.246 1.146 10.146L2.293 9L2.146 8.854C2.047 8.754 1.997 8.636 1.997 8.5C1.997 8.364 2.047 8.246 2.146 8.146C2.244 8.049 2.362 8 2.5 8C2.638 8 2.756 8.049 2.854 8.146L3 8.293L4.293 7L4.146 6.854C4.047 6.754 3.997 6.636 3.997 6.5C3.997 6.364 4.047 6.246 4.146 6.146C4.246 6.047 4.364 5.997 4.5 5.997C4.636 5.997 4.754 6.047 4.854 6.146L5 6.293L6.293 5L6.146 4.854C6.047 4.754 5.997 4.636 5.997 4.5C5.997 4.364 6.047 4.246 6.146 4.146C6.246 4.047 6.364 3.997 6.5 3.997C6.636 3.997 6.754 4.047 6.854 4.146L7 4.293L8.293 3L8.146 2.854C8.049 2.756 8 2.638 8 2.5C8 2.362 8.049 2.244 8.146 2.146C8.246 2.047 8.364 1.997 8.5 1.997C8.636 1.997 8.754 2.047 8.854 2.146L9 2.293L10.146 1.146C10.246 1.047 10.364 0.997 10.5 0.997C10.636 0.997 10.754 1.047 10.854 1.146C10.951 1.244 11 1.362 11 1.5C11 1.638 10.951 1.756 10.854 1.854L9.707 3ZM11.293 6L9 3.707L7.707 5L10 7.293L11.293 6ZM5.707 7L8 9.293L9.293 8L7 5.707L5.707 7ZM3.707 9L6 11.293L7.293 10L5 7.707L3.707 9Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "train-track" (line-round), MIT. https://gentleface.com/icons/train-track -->
<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="M9.707 3L12 5.293L13.146 4.146C13.246 4.047 13.364 3.997 13.5 3.997C13.636 3.997 13.754 4.047 13.854 4.146C13.951 4.244 14 4.362 14 4.5C14 4.638 13.951 4.756 13.854 4.854L12.707 6L12.854 6.146C12.951 6.244 13 6.362 13 6.5C13 6.638 12.951 6.756 12.854 6.854C12.754 6.953 12.636 7.003 12.5 7.003C12.364 7.003 12.246 6.953 12.146 6.854L12 6.707L10.707 8L10.854 8.146C10.953 8.246 11.003 8.364 11.003 8.5C11.003 8.636 10.953 8.754 10.854 8.854C10.754 8.953 10.636 9.003 10.5 9.003C10.364 9.003 10.246 8.953 10.146 8.854L10 8.707L8.707 10L8.854 10.146C8.953 10.246 9.003 10.364 9.003 10.5C9.003 10.636 8.953 10.754 8.854 10.854C8.754 10.953 8.636 11.003 8.5 11.003C8.364 11.003 8.246 10.953 8.146 10.854L8 10.707L6.707 12L6.854 12.146C6.953 12.246 7.003 12.364 7.003 12.5C7.003 12.636 6.953 12.754 6.854 12.854C6.756 12.951 6.638 13 6.5 13C6.362 13 6.244 12.951 6.146 12.854L6 12.707L4.854 13.854C4.756 13.951 4.638 14 4.5 14C4.362 14 4.244 13.951 4.146 13.854C4.047 13.754 3.997 13.636 3.997 13.5C3.997 13.364 4.047 13.246 4.146 13.146L5.293 12L3 9.707L1.854 10.854C1.756 10.951 1.638 11 1.5 11C1.362 11 1.244 10.951 1.146 10.854C1.047 10.754 0.997 10.636 0.997 10.5C0.997 10.364 1.047 10.246 1.146 10.146L2.293 9L2.146 8.854C2.047 8.754 1.997 8.636 1.997 8.5C1.997 8.364 2.047 8.246 2.146 8.146C2.244 8.049 2.362 8 2.5 8C2.638 8 2.756 8.049 2.854 8.146L3 8.293L4.293 7L4.146 6.854C4.047 6.754 3.997 6.636 3.997 6.5C3.997 6.364 4.047 6.246 4.146 6.146C4.246 6.047 4.364 5.997 4.5 5.997C4.636 5.997 4.754 6.047 4.854 6.146L5 6.293L6.293 5L6.146 4.854C6.047 4.754 5.997 4.636 5.997 4.5C5.997 4.364 6.047 4.246 6.146 4.146C6.246 4.047 6.364 3.997 6.5 3.997C6.636 3.997 6.754 4.047 6.854 4.146L7 4.293L8.293 3L8.146 2.854C8.049 2.756 8 2.638 8 2.5C8 2.362 8.049 2.244 8.146 2.146C8.246 2.047 8.364 1.997 8.5 1.997C8.636 1.997 8.754 2.047 8.854 2.146L9 2.293L10.146 1.146C10.246 1.047 10.364 0.997 10.5 0.997C10.636 0.997 10.754 1.047 10.854 1.146C10.951 1.244 11 1.362 11 1.5C11 1.638 10.951 1.756 10.854 1.854L9.707 3ZM11.293 6L9 3.707L7.707 5L10 7.293L11.293 6ZM5.707 7L8 9.293L9.293 8L7 5.707L5.707 7ZM3.707 9L6 11.293L7.293 10L5 7.707L3.707 9Z" />
  </svg>
</template>
```

### Svelte

```svelte
<!-- Gentleface "train-track" (line-round), MIT. https://gentleface.com/icons/train-track -->
<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="M9.707 3L12 5.293L13.146 4.146C13.246 4.047 13.364 3.997 13.5 3.997C13.636 3.997 13.754 4.047 13.854 4.146C13.951 4.244 14 4.362 14 4.5C14 4.638 13.951 4.756 13.854 4.854L12.707 6L12.854 6.146C12.951 6.244 13 6.362 13 6.5C13 6.638 12.951 6.756 12.854 6.854C12.754 6.953 12.636 7.003 12.5 7.003C12.364 7.003 12.246 6.953 12.146 6.854L12 6.707L10.707 8L10.854 8.146C10.953 8.246 11.003 8.364 11.003 8.5C11.003 8.636 10.953 8.754 10.854 8.854C10.754 8.953 10.636 9.003 10.5 9.003C10.364 9.003 10.246 8.953 10.146 8.854L10 8.707L8.707 10L8.854 10.146C8.953 10.246 9.003 10.364 9.003 10.5C9.003 10.636 8.953 10.754 8.854 10.854C8.754 10.953 8.636 11.003 8.5 11.003C8.364 11.003 8.246 10.953 8.146 10.854L8 10.707L6.707 12L6.854 12.146C6.953 12.246 7.003 12.364 7.003 12.5C7.003 12.636 6.953 12.754 6.854 12.854C6.756 12.951 6.638 13 6.5 13C6.362 13 6.244 12.951 6.146 12.854L6 12.707L4.854 13.854C4.756 13.951 4.638 14 4.5 14C4.362 14 4.244 13.951 4.146 13.854C4.047 13.754 3.997 13.636 3.997 13.5C3.997 13.364 4.047 13.246 4.146 13.146L5.293 12L3 9.707L1.854 10.854C1.756 10.951 1.638 11 1.5 11C1.362 11 1.244 10.951 1.146 10.854C1.047 10.754 0.997 10.636 0.997 10.5C0.997 10.364 1.047 10.246 1.146 10.146L2.293 9L2.146 8.854C2.047 8.754 1.997 8.636 1.997 8.5C1.997 8.364 2.047 8.246 2.146 8.146C2.244 8.049 2.362 8 2.5 8C2.638 8 2.756 8.049 2.854 8.146L3 8.293L4.293 7L4.146 6.854C4.047 6.754 3.997 6.636 3.997 6.5C3.997 6.364 4.047 6.246 4.146 6.146C4.246 6.047 4.364 5.997 4.5 5.997C4.636 5.997 4.754 6.047 4.854 6.146L5 6.293L6.293 5L6.146 4.854C6.047 4.754 5.997 4.636 5.997 4.5C5.997 4.364 6.047 4.246 6.146 4.146C6.246 4.047 6.364 3.997 6.5 3.997C6.636 3.997 6.754 4.047 6.854 4.146L7 4.293L8.293 3L8.146 2.854C8.049 2.756 8 2.638 8 2.5C8 2.362 8.049 2.244 8.146 2.146C8.246 2.047 8.364 1.997 8.5 1.997C8.636 1.997 8.754 2.047 8.854 2.146L9 2.293L10.146 1.146C10.246 1.047 10.364 0.997 10.5 0.997C10.636 0.997 10.754 1.047 10.854 1.146C10.951 1.244 11 1.362 11 1.5C11 1.638 10.951 1.756 10.854 1.854L9.707 3ZM11.293 6L9 3.707L7.707 5L10 7.293L11.293 6ZM5.707 7L8 9.293L9.293 8L7 5.707L5.707 7ZM3.707 9L6 11.293L7.293 10L5 7.707L3.707 9Z" />
</svg>
```

### HTML img

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

### CSS

```css
/* Gentleface "train-track" (line-round), MIT. https://gentleface.com/icons/train-track. Takes the text color. */
.icon-train-track {
  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='M9.707 3L12 5.293L13.146 4.146C13.246 4.047 13.364 3.997 13.5 3.997C13.636 3.997 13.754 4.047 13.854 4.146C13.951 4.244 14 4.362 14 4.5C14 4.638 13.951 4.756 13.854 4.854L12.707 6L12.854 6.146C12.951 6.244 13 6.362 13 6.5C13 6.638 12.951 6.756 12.854 6.854C12.754 6.953 12.636 7.003 12.5 7.003C12.364 7.003 12.246 6.953 12.146 6.854L12 6.707L10.707 8L10.854 8.146C10.953 8.246 11.003 8.364 11.003 8.5C11.003 8.636 10.953 8.754 10.854 8.854C10.754 8.953 10.636 9.003 10.5 9.003C10.364 9.003 10.246 8.953 10.146 8.854L10 8.707L8.707 10L8.854 10.146C8.953 10.246 9.003 10.364 9.003 10.5C9.003 10.636 8.953 10.754 8.854 10.854C8.754 10.953 8.636 11.003 8.5 11.003C8.364 11.003 8.246 10.953 8.146 10.854L8 10.707L6.707 12L6.854 12.146C6.953 12.246 7.003 12.364 7.003 12.5C7.003 12.636 6.953 12.754 6.854 12.854C6.756 12.951 6.638 13 6.5 13C6.362 13 6.244 12.951 6.146 12.854L6 12.707L4.854 13.854C4.756 13.951 4.638 14 4.5 14C4.362 14 4.244 13.951 4.146 13.854C4.047 13.754 3.997 13.636 3.997 13.5C3.997 13.364 4.047 13.246 4.146 13.146L5.293 12L3 9.707L1.854 10.854C1.756 10.951 1.638 11 1.5 11C1.362 11 1.244 10.951 1.146 10.854C1.047 10.754 0.997 10.636 0.997 10.5C0.997 10.364 1.047 10.246 1.146 10.146L2.293 9L2.146 8.854C2.047 8.754 1.997 8.636 1.997 8.5C1.997 8.364 2.047 8.246 2.146 8.146C2.244 8.049 2.362 8 2.5 8C2.638 8 2.756 8.049 2.854 8.146L3 8.293L4.293 7L4.146 6.854C4.047 6.754 3.997 6.636 3.997 6.5C3.997 6.364 4.047 6.246 4.146 6.146C4.246 6.047 4.364 5.997 4.5 5.997C4.636 5.997 4.754 6.047 4.854 6.146L5 6.293L6.293 5L6.146 4.854C6.047 4.754 5.997 4.636 5.997 4.5C5.997 4.364 6.047 4.246 6.146 4.146C6.246 4.047 6.364 3.997 6.5 3.997C6.636 3.997 6.754 4.047 6.854 4.146L7 4.293L8.293 3L8.146 2.854C8.049 2.756 8 2.638 8 2.5C8 2.362 8.049 2.244 8.146 2.146C8.246 2.047 8.364 1.997 8.5 1.997C8.636 1.997 8.754 2.047 8.854 2.146L9 2.293L10.146 1.146C10.246 1.047 10.364 0.997 10.5 0.997C10.636 0.997 10.754 1.047 10.854 1.146C10.951 1.244 11 1.362 11 1.5C11 1.638 10.951 1.756 10.854 1.854L9.707 3ZM11.293 6L9 3.707L7.707 5L10 7.293L11.293 6ZM5.707 7L8 9.293L9.293 8L7 5.707L5.707 7ZM3.707 9L6 11.293L7.293 10L5 7.707L3.707 9Z'/%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='M9.707 3L12 5.293L13.146 4.146C13.246 4.047 13.364 3.997 13.5 3.997C13.636 3.997 13.754 4.047 13.854 4.146C13.951 4.244 14 4.362 14 4.5C14 4.638 13.951 4.756 13.854 4.854L12.707 6L12.854 6.146C12.951 6.244 13 6.362 13 6.5C13 6.638 12.951 6.756 12.854 6.854C12.754 6.953 12.636 7.003 12.5 7.003C12.364 7.003 12.246 6.953 12.146 6.854L12 6.707L10.707 8L10.854 8.146C10.953 8.246 11.003 8.364 11.003 8.5C11.003 8.636 10.953 8.754 10.854 8.854C10.754 8.953 10.636 9.003 10.5 9.003C10.364 9.003 10.246 8.953 10.146 8.854L10 8.707L8.707 10L8.854 10.146C8.953 10.246 9.003 10.364 9.003 10.5C9.003 10.636 8.953 10.754 8.854 10.854C8.754 10.953 8.636 11.003 8.5 11.003C8.364 11.003 8.246 10.953 8.146 10.854L8 10.707L6.707 12L6.854 12.146C6.953 12.246 7.003 12.364 7.003 12.5C7.003 12.636 6.953 12.754 6.854 12.854C6.756 12.951 6.638 13 6.5 13C6.362 13 6.244 12.951 6.146 12.854L6 12.707L4.854 13.854C4.756 13.951 4.638 14 4.5 14C4.362 14 4.244 13.951 4.146 13.854C4.047 13.754 3.997 13.636 3.997 13.5C3.997 13.364 4.047 13.246 4.146 13.146L5.293 12L3 9.707L1.854 10.854C1.756 10.951 1.638 11 1.5 11C1.362 11 1.244 10.951 1.146 10.854C1.047 10.754 0.997 10.636 0.997 10.5C0.997 10.364 1.047 10.246 1.146 10.146L2.293 9L2.146 8.854C2.047 8.754 1.997 8.636 1.997 8.5C1.997 8.364 2.047 8.246 2.146 8.146C2.244 8.049 2.362 8 2.5 8C2.638 8 2.756 8.049 2.854 8.146L3 8.293L4.293 7L4.146 6.854C4.047 6.754 3.997 6.636 3.997 6.5C3.997 6.364 4.047 6.246 4.146 6.146C4.246 6.047 4.364 5.997 4.5 5.997C4.636 5.997 4.754 6.047 4.854 6.146L5 6.293L6.293 5L6.146 4.854C6.047 4.754 5.997 4.636 5.997 4.5C5.997 4.364 6.047 4.246 6.146 4.146C6.246 4.047 6.364 3.997 6.5 3.997C6.636 3.997 6.754 4.047 6.854 4.146L7 4.293L8.293 3L8.146 2.854C8.049 2.756 8 2.638 8 2.5C8 2.362 8.049 2.244 8.146 2.146C8.246 2.047 8.364 1.997 8.5 1.997C8.636 1.997 8.754 2.047 8.854 2.146L9 2.293L10.146 1.146C10.246 1.047 10.364 0.997 10.5 0.997C10.636 0.997 10.754 1.047 10.854 1.146C10.951 1.244 11 1.362 11 1.5C11 1.638 10.951 1.756 10.854 1.854L9.707 3ZM11.293 6L9 3.707L7.707 5L10 7.293L11.293 6ZM5.707 7L8 9.293L9.293 8L7 5.707L5.707 7ZM3.707 9L6 11.293L7.293 10L5 7.707L3.707 9Z'/%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='M9.707 3L12 5.293L13.146 4.146C13.246 4.047 13.364 3.997 13.5 3.997C13.636 3.997 13.754 4.047 13.854 4.146C13.951 4.244 14 4.362 14 4.5C14 4.638 13.951 4.756 13.854 4.854L12.707 6L12.854 6.146C12.951 6.244 13 6.362 13 6.5C13 6.638 12.951 6.756 12.854 6.854C12.754 6.953 12.636 7.003 12.5 7.003C12.364 7.003 12.246 6.953 12.146 6.854L12 6.707L10.707 8L10.854 8.146C10.953 8.246 11.003 8.364 11.003 8.5C11.003 8.636 10.953 8.754 10.854 8.854C10.754 8.953 10.636 9.003 10.5 9.003C10.364 9.003 10.246 8.953 10.146 8.854L10 8.707L8.707 10L8.854 10.146C8.953 10.246 9.003 10.364 9.003 10.5C9.003 10.636 8.953 10.754 8.854 10.854C8.754 10.953 8.636 11.003 8.5 11.003C8.364 11.003 8.246 10.953 8.146 10.854L8 10.707L6.707 12L6.854 12.146C6.953 12.246 7.003 12.364 7.003 12.5C7.003 12.636 6.953 12.754 6.854 12.854C6.756 12.951 6.638 13 6.5 13C6.362 13 6.244 12.951 6.146 12.854L6 12.707L4.854 13.854C4.756 13.951 4.638 14 4.5 14C4.362 14 4.244 13.951 4.146 13.854C4.047 13.754 3.997 13.636 3.997 13.5C3.997 13.364 4.047 13.246 4.146 13.146L5.293 12L3 9.707L1.854 10.854C1.756 10.951 1.638 11 1.5 11C1.362 11 1.244 10.951 1.146 10.854C1.047 10.754 0.997 10.636 0.997 10.5C0.997 10.364 1.047 10.246 1.146 10.146L2.293 9L2.146 8.854C2.047 8.754 1.997 8.636 1.997 8.5C1.997 8.364 2.047 8.246 2.146 8.146C2.244 8.049 2.362 8 2.5 8C2.638 8 2.756 8.049 2.854 8.146L3 8.293L4.293 7L4.146 6.854C4.047 6.754 3.997 6.636 3.997 6.5C3.997 6.364 4.047 6.246 4.146 6.146C4.246 6.047 4.364 5.997 4.5 5.997C4.636 5.997 4.754 6.047 4.854 6.146L5 6.293L6.293 5L6.146 4.854C6.047 4.754 5.997 4.636 5.997 4.5C5.997 4.364 6.047 4.246 6.146 4.146C6.246 4.047 6.364 3.997 6.5 3.997C6.636 3.997 6.754 4.047 6.854 4.146L7 4.293L8.293 3L8.146 2.854C8.049 2.756 8 2.638 8 2.5C8 2.362 8.049 2.244 8.146 2.146C8.246 2.047 8.364 1.997 8.5 1.997C8.636 1.997 8.754 2.047 8.854 2.146L9 2.293L10.146 1.146C10.246 1.047 10.364 0.997 10.5 0.997C10.636 0.997 10.754 1.047 10.854 1.146C10.951 1.244 11 1.362 11 1.5C11 1.638 10.951 1.756 10.854 1.854L9.707 3ZM11.293 6L9 3.707L7.707 5L10 7.293L11.293 6ZM5.707 7L8 9.293L9.293 8L7 5.707L5.707 7ZM3.707 9L6 11.293L7.293 10L5 7.707L3.707 9Z'/%3E%3C/svg%3E
```

### Sprite

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

### SwiftUI

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

struct TrainTrackIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 9.707, y: 3))
        p.addLine(to: CGPoint(x: 12, y: 5.293))
        p.addLine(to: CGPoint(x: 13.146, y: 4.146))
        p.addCurve(to: CGPoint(x: 13.5, y: 3.997), control1: CGPoint(x: 13.246, y: 4.047), control2: CGPoint(x: 13.364, y: 3.997))
        p.addCurve(to: CGPoint(x: 13.854, y: 4.146), control1: CGPoint(x: 13.636, y: 3.997), control2: CGPoint(x: 13.754, y: 4.047))
        p.addCurve(to: CGPoint(x: 14, y: 4.5), control1: CGPoint(x: 13.951, y: 4.244), control2: CGPoint(x: 14, y: 4.362))
        p.addCurve(to: CGPoint(x: 13.854, y: 4.854), control1: CGPoint(x: 14, y: 4.638), control2: CGPoint(x: 13.951, y: 4.756))
        p.addLine(to: CGPoint(x: 12.707, y: 6))
        p.addLine(to: CGPoint(x: 12.854, y: 6.146))
        p.addCurve(to: CGPoint(x: 13, y: 6.5), control1: CGPoint(x: 12.951, y: 6.244), control2: CGPoint(x: 13, y: 6.362))
        p.addCurve(to: CGPoint(x: 12.854, y: 6.854), control1: CGPoint(x: 13, y: 6.638), control2: CGPoint(x: 12.951, y: 6.756))
        p.addCurve(to: CGPoint(x: 12.5, y: 7.003), control1: CGPoint(x: 12.754, y: 6.953), control2: CGPoint(x: 12.636, y: 7.003))
        p.addCurve(to: CGPoint(x: 12.146, y: 6.854), control1: CGPoint(x: 12.364, y: 7.003), control2: CGPoint(x: 12.246, y: 6.953))
        p.addLine(to: CGPoint(x: 12, y: 6.707))
        p.addLine(to: CGPoint(x: 10.707, y: 8))
        p.addLine(to: CGPoint(x: 10.854, y: 8.146))
        p.addCurve(to: CGPoint(x: 11.003, y: 8.5), control1: CGPoint(x: 10.953, y: 8.246), control2: CGPoint(x: 11.003, y: 8.364))
        p.addCurve(to: CGPoint(x: 10.854, y: 8.854), control1: CGPoint(x: 11.003, y: 8.636), control2: CGPoint(x: 10.953, y: 8.754))
        p.addCurve(to: CGPoint(x: 10.5, y: 9.003), control1: CGPoint(x: 10.754, y: 8.953), control2: CGPoint(x: 10.636, y: 9.003))
        p.addCurve(to: CGPoint(x: 10.146, y: 8.854), control1: CGPoint(x: 10.364, y: 9.003), control2: CGPoint(x: 10.246, y: 8.953))
        p.addLine(to: CGPoint(x: 10, y: 8.707))
        p.addLine(to: CGPoint(x: 8.707, y: 10))
        p.addLine(to: CGPoint(x: 8.854, y: 10.146))
        p.addCurve(to: CGPoint(x: 9.003, y: 10.5), control1: CGPoint(x: 8.953, y: 10.246), control2: CGPoint(x: 9.003, y: 10.364))
        p.addCurve(to: CGPoint(x: 8.854, y: 10.854), control1: CGPoint(x: 9.003, y: 10.636), control2: CGPoint(x: 8.953, y: 10.754))
        p.addCurve(to: CGPoint(x: 8.5, y: 11.003), control1: CGPoint(x: 8.754, y: 10.953), control2: CGPoint(x: 8.636, y: 11.003))
        p.addCurve(to: CGPoint(x: 8.146, y: 10.854), control1: CGPoint(x: 8.364, y: 11.003), control2: CGPoint(x: 8.246, y: 10.953))
        p.addLine(to: CGPoint(x: 8, y: 10.707))
        p.addLine(to: CGPoint(x: 6.707, y: 12))
        p.addLine(to: CGPoint(x: 6.854, y: 12.146))
        p.addCurve(to: CGPoint(x: 7.003, y: 12.5), control1: CGPoint(x: 6.953, y: 12.246), control2: CGPoint(x: 7.003, y: 12.364))
        p.addCurve(to: CGPoint(x: 6.854, y: 12.854), control1: CGPoint(x: 7.003, y: 12.636), control2: CGPoint(x: 6.953, y: 12.754))
        p.addCurve(to: CGPoint(x: 6.5, y: 13), control1: CGPoint(x: 6.756, y: 12.951), control2: CGPoint(x: 6.638, y: 13))
        p.addCurve(to: CGPoint(x: 6.146, y: 12.854), control1: CGPoint(x: 6.362, y: 13), control2: CGPoint(x: 6.244, y: 12.951))
        p.addLine(to: CGPoint(x: 6, y: 12.707))
        p.addLine(to: CGPoint(x: 4.854, y: 13.854))
        p.addCurve(to: CGPoint(x: 4.5, y: 14), control1: CGPoint(x: 4.756, y: 13.951), control2: CGPoint(x: 4.638, y: 14))
        p.addCurve(to: CGPoint(x: 4.146, y: 13.854), control1: CGPoint(x: 4.362, y: 14), control2: CGPoint(x: 4.244, y: 13.951))
        p.addCurve(to: CGPoint(x: 3.997, y: 13.5), control1: CGPoint(x: 4.047, y: 13.754), control2: CGPoint(x: 3.997, y: 13.636))
        p.addCurve(to: CGPoint(x: 4.146, y: 13.146), control1: CGPoint(x: 3.997, y: 13.364), control2: CGPoint(x: 4.047, y: 13.246))
        p.addLine(to: CGPoint(x: 5.293, y: 12))
        p.addLine(to: CGPoint(x: 3, y: 9.707))
        p.addLine(to: CGPoint(x: 1.854, y: 10.854))
        p.addCurve(to: CGPoint(x: 1.5, y: 11), control1: CGPoint(x: 1.756, y: 10.951), control2: CGPoint(x: 1.638, y: 11))
        p.addCurve(to: CGPoint(x: 1.146, y: 10.854), control1: CGPoint(x: 1.362, y: 11), control2: CGPoint(x: 1.244, y: 10.951))
        p.addCurve(to: CGPoint(x: 0.997, y: 10.5), control1: CGPoint(x: 1.047, y: 10.754), control2: CGPoint(x: 0.997, y: 10.636))
        p.addCurve(to: CGPoint(x: 1.146, y: 10.146), control1: CGPoint(x: 0.997, y: 10.364), control2: CGPoint(x: 1.047, y: 10.246))
        p.addLine(to: CGPoint(x: 2.293, y: 9))
        p.addLine(to: CGPoint(x: 2.146, y: 8.854))
        p.addCurve(to: CGPoint(x: 1.997, y: 8.5), control1: CGPoint(x: 2.047, y: 8.754), control2: CGPoint(x: 1.997, y: 8.636))
        p.addCurve(to: CGPoint(x: 2.146, y: 8.146), control1: CGPoint(x: 1.997, y: 8.364), control2: CGPoint(x: 2.047, y: 8.246))
        p.addCurve(to: CGPoint(x: 2.5, y: 8), control1: CGPoint(x: 2.244, y: 8.049), control2: CGPoint(x: 2.362, y: 8))
        p.addCurve(to: CGPoint(x: 2.854, y: 8.146), control1: CGPoint(x: 2.638, y: 8), control2: CGPoint(x: 2.756, y: 8.049))
        p.addLine(to: CGPoint(x: 3, y: 8.293))
        p.addLine(to: CGPoint(x: 4.293, y: 7))
        p.addLine(to: CGPoint(x: 4.146, y: 6.854))
        p.addCurve(to: CGPoint(x: 3.997, y: 6.5), control1: CGPoint(x: 4.047, y: 6.754), control2: CGPoint(x: 3.997, y: 6.636))
        p.addCurve(to: CGPoint(x: 4.146, y: 6.146), control1: CGPoint(x: 3.997, y: 6.364), control2: CGPoint(x: 4.047, y: 6.246))
        p.addCurve(to: CGPoint(x: 4.5, y: 5.997), control1: CGPoint(x: 4.246, y: 6.047), control2: CGPoint(x: 4.364, y: 5.997))
        p.addCurve(to: CGPoint(x: 4.854, y: 6.146), control1: CGPoint(x: 4.636, y: 5.997), control2: CGPoint(x: 4.754, y: 6.047))
        p.addLine(to: CGPoint(x: 5, y: 6.293))
        p.addLine(to: CGPoint(x: 6.293, y: 5))
        p.addLine(to: CGPoint(x: 6.146, y: 4.854))
        p.addCurve(to: CGPoint(x: 5.997, y: 4.5), control1: CGPoint(x: 6.047, y: 4.754), control2: CGPoint(x: 5.997, y: 4.636))
        p.addCurve(to: CGPoint(x: 6.146, y: 4.146), control1: CGPoint(x: 5.997, y: 4.364), control2: CGPoint(x: 6.047, y: 4.246))
        p.addCurve(to: CGPoint(x: 6.5, y: 3.997), control1: CGPoint(x: 6.246, y: 4.047), control2: CGPoint(x: 6.364, y: 3.997))
        p.addCurve(to: CGPoint(x: 6.854, y: 4.146), control1: CGPoint(x: 6.636, y: 3.997), control2: CGPoint(x: 6.754, y: 4.047))
        p.addLine(to: CGPoint(x: 7, y: 4.293))
        p.addLine(to: CGPoint(x: 8.293, y: 3))
        p.addLine(to: CGPoint(x: 8.146, y: 2.854))
        p.addCurve(to: CGPoint(x: 8, y: 2.5), control1: CGPoint(x: 8.049, y: 2.756), control2: CGPoint(x: 8, y: 2.638))
        p.addCurve(to: CGPoint(x: 8.146, y: 2.146), control1: CGPoint(x: 8, y: 2.362), control2: CGPoint(x: 8.049, y: 2.244))
        p.addCurve(to: CGPoint(x: 8.5, y: 1.997), control1: CGPoint(x: 8.246, y: 2.047), control2: CGPoint(x: 8.364, y: 1.997))
        p.addCurve(to: CGPoint(x: 8.854, y: 2.146), control1: CGPoint(x: 8.636, y: 1.997), control2: CGPoint(x: 8.754, y: 2.047))
        p.addLine(to: CGPoint(x: 9, y: 2.293))
        p.addLine(to: CGPoint(x: 10.146, y: 1.146))
        p.addCurve(to: CGPoint(x: 10.5, y: 0.997), control1: CGPoint(x: 10.246, y: 1.047), control2: CGPoint(x: 10.364, y: 0.997))
        p.addCurve(to: CGPoint(x: 10.854, y: 1.146), control1: CGPoint(x: 10.636, y: 0.997), control2: CGPoint(x: 10.754, y: 1.047))
        p.addCurve(to: CGPoint(x: 11, y: 1.5), control1: CGPoint(x: 10.951, y: 1.244), control2: CGPoint(x: 11, y: 1.362))
        p.addCurve(to: CGPoint(x: 10.854, y: 1.854), control1: CGPoint(x: 11, y: 1.638), control2: CGPoint(x: 10.951, y: 1.756))
        p.addLine(to: CGPoint(x: 9.707, y: 3))
        p.closeSubpath()
        p.move(to: CGPoint(x: 11.293, y: 6))
        p.addLine(to: CGPoint(x: 9, y: 3.707))
        p.addLine(to: CGPoint(x: 7.707, y: 5))
        p.addLine(to: CGPoint(x: 10, y: 7.293))
        p.addLine(to: CGPoint(x: 11.293, y: 6))
        p.closeSubpath()
        p.move(to: CGPoint(x: 5.707, y: 7))
        p.addLine(to: CGPoint(x: 8, y: 9.293))
        p.addLine(to: CGPoint(x: 9.293, y: 8))
        p.addLine(to: CGPoint(x: 7, y: 5.707))
        p.addLine(to: CGPoint(x: 5.707, y: 7))
        p.closeSubpath()
        p.move(to: CGPoint(x: 3.707, y: 9))
        p.addLine(to: CGPoint(x: 6, y: 11.293))
        p.addLine(to: CGPoint(x: 7.293, y: 10))
        p.addLine(to: CGPoint(x: 5, y: 7.707))
        p.addLine(to: CGPoint(x: 3.707, y: 9))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

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

### Compose

```kotlin
// Gentleface "train-track" (line-round), MIT. https://gentleface.com/icons/train-track
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 TrainTrackIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "train-track", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M9.707 3L12 5.293L13.146 4.146C13.246 4.047 13.364 3.997 13.5 3.997C13.636 3.997 13.754 4.047 13.854 4.146C13.951 4.244 14 4.362 14 4.5C14 4.638 13.951 4.756 13.854 4.854L12.707 6L12.854 6.146C12.951 6.244 13 6.362 13 6.5C13 6.638 12.951 6.756 12.854 6.854C12.754 6.953 12.636 7.003 12.5 7.003C12.364 7.003 12.246 6.953 12.146 6.854L12 6.707L10.707 8L10.854 8.146C10.953 8.246 11.003 8.364 11.003 8.5C11.003 8.636 10.953 8.754 10.854 8.854C10.754 8.953 10.636 9.003 10.5 9.003C10.364 9.003 10.246 8.953 10.146 8.854L10 8.707L8.707 10L8.854 10.146C8.953 10.246 9.003 10.364 9.003 10.5C9.003 10.636 8.953 10.754 8.854 10.854C8.754 10.953 8.636 11.003 8.5 11.003C8.364 11.003 8.246 10.953 8.146 10.854L8 10.707L6.707 12L6.854 12.146C6.953 12.246 7.003 12.364 7.003 12.5C7.003 12.636 6.953 12.754 6.854 12.854C6.756 12.951 6.638 13 6.5 13C6.362 13 6.244 12.951 6.146 12.854L6 12.707L4.854 13.854C4.756 13.951 4.638 14 4.5 14C4.362 14 4.244 13.951 4.146 13.854C4.047 13.754 3.997 13.636 3.997 13.5C3.997 13.364 4.047 13.246 4.146 13.146L5.293 12L3 9.707L1.854 10.854C1.756 10.951 1.638 11 1.5 11C1.362 11 1.244 10.951 1.146 10.854C1.047 10.754 0.997 10.636 0.997 10.5C0.997 10.364 1.047 10.246 1.146 10.146L2.293 9L2.146 8.854C2.047 8.754 1.997 8.636 1.997 8.5C1.997 8.364 2.047 8.246 2.146 8.146C2.244 8.049 2.362 8 2.5 8C2.638 8 2.756 8.049 2.854 8.146L3 8.293L4.293 7L4.146 6.854C4.047 6.754 3.997 6.636 3.997 6.5C3.997 6.364 4.047 6.246 4.146 6.146C4.246 6.047 4.364 5.997 4.5 5.997C4.636 5.997 4.754 6.047 4.854 6.146L5 6.293L6.293 5L6.146 4.854C6.047 4.754 5.997 4.636 5.997 4.5C5.997 4.364 6.047 4.246 6.146 4.146C6.246 4.047 6.364 3.997 6.5 3.997C6.636 3.997 6.754 4.047 6.854 4.146L7 4.293L8.293 3L8.146 2.854C8.049 2.756 8 2.638 8 2.5C8 2.362 8.049 2.244 8.146 2.146C8.246 2.047 8.364 1.997 8.5 1.997C8.636 1.997 8.754 2.047 8.854 2.146L9 2.293L10.146 1.146C10.246 1.047 10.364 0.997 10.5 0.997C10.636 0.997 10.754 1.047 10.854 1.146C10.951 1.244 11 1.362 11 1.5C11 1.638 10.951 1.756 10.854 1.854L9.707 3ZM11.293 6L9 3.707L7.707 5L10 7.293L11.293 6ZM5.707 7L8 9.293L9.293 8L7 5.707L5.707 7ZM3.707 9L6 11.293L7.293 10L5 7.707L3.707 9Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

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

### Android XML

```xml
<!-- res/drawable/ic_train_track.xml · Gentleface "train-track" (line-round), MIT. https://gentleface.com/icons/train-track -->
<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="M9.707 3L12 5.293L13.146 4.146C13.246 4.047 13.364 3.997 13.5 3.997C13.636 3.997 13.754 4.047 13.854 4.146C13.951 4.244 14 4.362 14 4.5C14 4.638 13.951 4.756 13.854 4.854L12.707 6L12.854 6.146C12.951 6.244 13 6.362 13 6.5C13 6.638 12.951 6.756 12.854 6.854C12.754 6.953 12.636 7.003 12.5 7.003C12.364 7.003 12.246 6.953 12.146 6.854L12 6.707L10.707 8L10.854 8.146C10.953 8.246 11.003 8.364 11.003 8.5C11.003 8.636 10.953 8.754 10.854 8.854C10.754 8.953 10.636 9.003 10.5 9.003C10.364 9.003 10.246 8.953 10.146 8.854L10 8.707L8.707 10L8.854 10.146C8.953 10.246 9.003 10.364 9.003 10.5C9.003 10.636 8.953 10.754 8.854 10.854C8.754 10.953 8.636 11.003 8.5 11.003C8.364 11.003 8.246 10.953 8.146 10.854L8 10.707L6.707 12L6.854 12.146C6.953 12.246 7.003 12.364 7.003 12.5C7.003 12.636 6.953 12.754 6.854 12.854C6.756 12.951 6.638 13 6.5 13C6.362 13 6.244 12.951 6.146 12.854L6 12.707L4.854 13.854C4.756 13.951 4.638 14 4.5 14C4.362 14 4.244 13.951 4.146 13.854C4.047 13.754 3.997 13.636 3.997 13.5C3.997 13.364 4.047 13.246 4.146 13.146L5.293 12L3 9.707L1.854 10.854C1.756 10.951 1.638 11 1.5 11C1.362 11 1.244 10.951 1.146 10.854C1.047 10.754 0.997 10.636 0.997 10.5C0.997 10.364 1.047 10.246 1.146 10.146L2.293 9L2.146 8.854C2.047 8.754 1.997 8.636 1.997 8.5C1.997 8.364 2.047 8.246 2.146 8.146C2.244 8.049 2.362 8 2.5 8C2.638 8 2.756 8.049 2.854 8.146L3 8.293L4.293 7L4.146 6.854C4.047 6.754 3.997 6.636 3.997 6.5C3.997 6.364 4.047 6.246 4.146 6.146C4.246 6.047 4.364 5.997 4.5 5.997C4.636 5.997 4.754 6.047 4.854 6.146L5 6.293L6.293 5L6.146 4.854C6.047 4.754 5.997 4.636 5.997 4.5C5.997 4.364 6.047 4.246 6.146 4.146C6.246 4.047 6.364 3.997 6.5 3.997C6.636 3.997 6.754 4.047 6.854 4.146L7 4.293L8.293 3L8.146 2.854C8.049 2.756 8 2.638 8 2.5C8 2.362 8.049 2.244 8.146 2.146C8.246 2.047 8.364 1.997 8.5 1.997C8.636 1.997 8.754 2.047 8.854 2.146L9 2.293L10.146 1.146C10.246 1.047 10.364 0.997 10.5 0.997C10.636 0.997 10.754 1.047 10.854 1.146C10.951 1.244 11 1.362 11 1.5C11 1.638 10.951 1.756 10.854 1.854L9.707 3ZM11.293 6L9 3.707L7.707 5L10 7.293L11.293 6ZM5.707 7L8 9.293L9.293 8L7 5.707L5.707 7ZM3.707 9L6 11.293L7.293 10L5 7.707L3.707 9Z"/>
</vector>
```

### Flutter

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

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

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

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

  @override
  void paint(Canvas canvas, Size size) {
    canvas.scale(size.width / 16, size.height / 16);
    final p = Path()
      ..moveTo(9.707, 3)
      ..lineTo(12, 5.293)
      ..lineTo(13.146, 4.146)
      ..cubicTo(13.246, 4.047, 13.364, 3.997, 13.5, 3.997)
      ..cubicTo(13.636, 3.997, 13.754, 4.047, 13.854, 4.146)
      ..cubicTo(13.951, 4.244, 14, 4.362, 14, 4.5)
      ..cubicTo(14, 4.638, 13.951, 4.756, 13.854, 4.854)
      ..lineTo(12.707, 6)
      ..lineTo(12.854, 6.146)
      ..cubicTo(12.951, 6.244, 13, 6.362, 13, 6.5)
      ..cubicTo(13, 6.638, 12.951, 6.756, 12.854, 6.854)
      ..cubicTo(12.754, 6.953, 12.636, 7.003, 12.5, 7.003)
      ..cubicTo(12.364, 7.003, 12.246, 6.953, 12.146, 6.854)
      ..lineTo(12, 6.707)
      ..lineTo(10.707, 8)
      ..lineTo(10.854, 8.146)
      ..cubicTo(10.953, 8.246, 11.003, 8.364, 11.003, 8.5)
      ..cubicTo(11.003, 8.636, 10.953, 8.754, 10.854, 8.854)
      ..cubicTo(10.754, 8.953, 10.636, 9.003, 10.5, 9.003)
      ..cubicTo(10.364, 9.003, 10.246, 8.953, 10.146, 8.854)
      ..lineTo(10, 8.707)
      ..lineTo(8.707, 10)
      ..lineTo(8.854, 10.146)
      ..cubicTo(8.953, 10.246, 9.003, 10.364, 9.003, 10.5)
      ..cubicTo(9.003, 10.636, 8.953, 10.754, 8.854, 10.854)
      ..cubicTo(8.754, 10.953, 8.636, 11.003, 8.5, 11.003)
      ..cubicTo(8.364, 11.003, 8.246, 10.953, 8.146, 10.854)
      ..lineTo(8, 10.707)
      ..lineTo(6.707, 12)
      ..lineTo(6.854, 12.146)
      ..cubicTo(6.953, 12.246, 7.003, 12.364, 7.003, 12.5)
      ..cubicTo(7.003, 12.636, 6.953, 12.754, 6.854, 12.854)
      ..cubicTo(6.756, 12.951, 6.638, 13, 6.5, 13)
      ..cubicTo(6.362, 13, 6.244, 12.951, 6.146, 12.854)
      ..lineTo(6, 12.707)
      ..lineTo(4.854, 13.854)
      ..cubicTo(4.756, 13.951, 4.638, 14, 4.5, 14)
      ..cubicTo(4.362, 14, 4.244, 13.951, 4.146, 13.854)
      ..cubicTo(4.047, 13.754, 3.997, 13.636, 3.997, 13.5)
      ..cubicTo(3.997, 13.364, 4.047, 13.246, 4.146, 13.146)
      ..lineTo(5.293, 12)
      ..lineTo(3, 9.707)
      ..lineTo(1.854, 10.854)
      ..cubicTo(1.756, 10.951, 1.638, 11, 1.5, 11)
      ..cubicTo(1.362, 11, 1.244, 10.951, 1.146, 10.854)
      ..cubicTo(1.047, 10.754, 0.997, 10.636, 0.997, 10.5)
      ..cubicTo(0.997, 10.364, 1.047, 10.246, 1.146, 10.146)
      ..lineTo(2.293, 9)
      ..lineTo(2.146, 8.854)
      ..cubicTo(2.047, 8.754, 1.997, 8.636, 1.997, 8.5)
      ..cubicTo(1.997, 8.364, 2.047, 8.246, 2.146, 8.146)
      ..cubicTo(2.244, 8.049, 2.362, 8, 2.5, 8)
      ..cubicTo(2.638, 8, 2.756, 8.049, 2.854, 8.146)
      ..lineTo(3, 8.293)
      ..lineTo(4.293, 7)
      ..lineTo(4.146, 6.854)
      ..cubicTo(4.047, 6.754, 3.997, 6.636, 3.997, 6.5)
      ..cubicTo(3.997, 6.364, 4.047, 6.246, 4.146, 6.146)
      ..cubicTo(4.246, 6.047, 4.364, 5.997, 4.5, 5.997)
      ..cubicTo(4.636, 5.997, 4.754, 6.047, 4.854, 6.146)
      ..lineTo(5, 6.293)
      ..lineTo(6.293, 5)
      ..lineTo(6.146, 4.854)
      ..cubicTo(6.047, 4.754, 5.997, 4.636, 5.997, 4.5)
      ..cubicTo(5.997, 4.364, 6.047, 4.246, 6.146, 4.146)
      ..cubicTo(6.246, 4.047, 6.364, 3.997, 6.5, 3.997)
      ..cubicTo(6.636, 3.997, 6.754, 4.047, 6.854, 4.146)
      ..lineTo(7, 4.293)
      ..lineTo(8.293, 3)
      ..lineTo(8.146, 2.854)
      ..cubicTo(8.049, 2.756, 8, 2.638, 8, 2.5)
      ..cubicTo(8, 2.362, 8.049, 2.244, 8.146, 2.146)
      ..cubicTo(8.246, 2.047, 8.364, 1.997, 8.5, 1.997)
      ..cubicTo(8.636, 1.997, 8.754, 2.047, 8.854, 2.146)
      ..lineTo(9, 2.293)
      ..lineTo(10.146, 1.146)
      ..cubicTo(10.246, 1.047, 10.364, 0.997, 10.5, 0.997)
      ..cubicTo(10.636, 0.997, 10.754, 1.047, 10.854, 1.146)
      ..cubicTo(10.951, 1.244, 11, 1.362, 11, 1.5)
      ..cubicTo(11, 1.638, 10.951, 1.756, 10.854, 1.854)
      ..lineTo(9.707, 3)
      ..close()
      ..moveTo(11.293, 6)
      ..lineTo(9, 3.707)
      ..lineTo(7.707, 5)
      ..lineTo(10, 7.293)
      ..lineTo(11.293, 6)
      ..close()
      ..moveTo(5.707, 7)
      ..lineTo(8, 9.293)
      ..lineTo(9.293, 8)
      ..lineTo(7, 5.707)
      ..lineTo(5.707, 7)
      ..close()
      ..moveTo(3.707, 9)
      ..lineTo(6, 11.293)
      ..lineTo(7.293, 10)
      ..lineTo(5, 7.707)
      ..lineTo(3.707, 9)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

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