# escalator icon

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

- Category: Buildings
- Use it for: escalator, moving stairs, moving staircase
- Tags: escalator, moving-stairs, moving-staircase, mall, station, airport, upstairs, downstairs, floor, level
- Component name: EscalatorIcon
- Added: 2026-10-29
- Since: version 0.2.0
- npm: `import { EscalatorIcon } from '@gentleface/react';` (@gentleface/react 0.2.0)
- Changed: 2026-10-30 (added)

## Alternatives

- `elevator`: an elevator or lift
- `stairs`: stairs

## Also fits

- elevator: an escalator
- stairs: an escalator

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

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

## Code (line-round)

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

### SVG

```svg
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M6.5 1L14.5 1C14.641 1 14.759 1.048 14.856 1.144C14.952 1.241 15 1.359 15 1.5C15 1.641 14.952 1.759 14.856 1.856C14.759 1.952 14.641 2 14.5 2L6.707 2L1.854 6.854C1.756 6.951 1.638 7 1.5 7C1.362 7 1.244 6.951 1.146 6.854C1.049 6.756 1 6.638 1 6.5C1 6.362 1.049 6.244 1.146 6.146L6.146 1.146C6.244 1.049 6.362 1 6.5 1ZM4 7.5C4 7.359 4.048 7.241 4.144 7.144C4.241 7.048 4.359 7 4.5 7L6 7L6 5.5C6 5.359 6.048 5.241 6.144 5.144C6.241 5.048 6.359 5 6.5 5L8 5L8 3.5C8 3.359 8.048 3.241 8.144 3.144C8.241 3.048 8.359 3 8.5 3L14.5 3C14.641 3 14.759 3.048 14.856 3.144C14.952 3.241 15 3.359 15 3.5L15 7.5C15 7.641 14.952 7.759 14.856 7.856C14.759 7.952 14.641 8 14.5 8L11.5 8C11.246 8 11.002 8.049 10.767 8.146C10.533 8.243 10.326 8.381 10.146 8.561L5.561 13.146C5.287 13.42 4.972 13.63 4.615 13.778C4.258 13.926 3.886 14 3.5 14L1.5 14C1.359 14 1.241 13.952 1.144 13.856C1.048 13.759 1 13.641 1 13.5L1 9.5C1 9.359 1.048 9.241 1.144 9.144C1.241 9.048 1.359 9 1.5 9L4 9L4 7.5ZM4.233 12.854C4.467 12.757 4.674 12.619 4.854 12.439L9.439 7.854C9.713 7.58 10.028 7.37 10.385 7.222C10.742 7.074 11.114 7 11.5 7L14 7L14 4L9 4L9 5.5C9 5.641 8.952 5.759 8.856 5.856C8.759 5.952 8.641 6 8.5 6L7 6L7 7.5C7 7.641 6.952 7.759 6.856 7.856C6.759 7.952 6.641 8 6.5 8L5 8L5 9.5C5 9.641 4.952 9.759 4.856 9.856C4.759 9.952 4.641 10 4.5 10L2 10L2 13L3.5 13C3.754 13 3.998 12.951 4.233 12.854Z"/></svg>
```

### React

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

export function EscalatorIcon(props: SVGProps<SVGSVGElement>) {
  return (
    <svg xmlns="http://www.w3.org/2000/svg" width={16} height={16} viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" {...props}>
      <path d="M6.5 1L14.5 1C14.641 1 14.759 1.048 14.856 1.144C14.952 1.241 15 1.359 15 1.5C15 1.641 14.952 1.759 14.856 1.856C14.759 1.952 14.641 2 14.5 2L6.707 2L1.854 6.854C1.756 6.951 1.638 7 1.5 7C1.362 7 1.244 6.951 1.146 6.854C1.049 6.756 1 6.638 1 6.5C1 6.362 1.049 6.244 1.146 6.146L6.146 1.146C6.244 1.049 6.362 1 6.5 1ZM4 7.5C4 7.359 4.048 7.241 4.144 7.144C4.241 7.048 4.359 7 4.5 7L6 7L6 5.5C6 5.359 6.048 5.241 6.144 5.144C6.241 5.048 6.359 5 6.5 5L8 5L8 3.5C8 3.359 8.048 3.241 8.144 3.144C8.241 3.048 8.359 3 8.5 3L14.5 3C14.641 3 14.759 3.048 14.856 3.144C14.952 3.241 15 3.359 15 3.5L15 7.5C15 7.641 14.952 7.759 14.856 7.856C14.759 7.952 14.641 8 14.5 8L11.5 8C11.246 8 11.002 8.049 10.767 8.146C10.533 8.243 10.326 8.381 10.146 8.561L5.561 13.146C5.287 13.42 4.972 13.63 4.615 13.778C4.258 13.926 3.886 14 3.5 14L1.5 14C1.359 14 1.241 13.952 1.144 13.856C1.048 13.759 1 13.641 1 13.5L1 9.5C1 9.359 1.048 9.241 1.144 9.144C1.241 9.048 1.359 9 1.5 9L4 9L4 7.5ZM4.233 12.854C4.467 12.757 4.674 12.619 4.854 12.439L9.439 7.854C9.713 7.58 10.028 7.37 10.385 7.222C10.742 7.074 11.114 7 11.5 7L14 7L14 4L9 4L9 5.5C9 5.641 8.952 5.759 8.856 5.856C8.759 5.952 8.641 6 8.5 6L7 6L7 7.5C7 7.641 6.952 7.759 6.856 7.856C6.759 7.952 6.641 8 6.5 8L5 8L5 9.5C5 9.641 4.952 9.759 4.856 9.856C4.759 9.952 4.641 10 4.5 10L2 10L2 13L3.5 13C3.754 13 3.998 12.951 4.233 12.854Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "escalator" (line-round), MIT. https://gentleface.com/icons/escalator -->
<template>
  <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true">
    <path d="M6.5 1L14.5 1C14.641 1 14.759 1.048 14.856 1.144C14.952 1.241 15 1.359 15 1.5C15 1.641 14.952 1.759 14.856 1.856C14.759 1.952 14.641 2 14.5 2L6.707 2L1.854 6.854C1.756 6.951 1.638 7 1.5 7C1.362 7 1.244 6.951 1.146 6.854C1.049 6.756 1 6.638 1 6.5C1 6.362 1.049 6.244 1.146 6.146L6.146 1.146C6.244 1.049 6.362 1 6.5 1ZM4 7.5C4 7.359 4.048 7.241 4.144 7.144C4.241 7.048 4.359 7 4.5 7L6 7L6 5.5C6 5.359 6.048 5.241 6.144 5.144C6.241 5.048 6.359 5 6.5 5L8 5L8 3.5C8 3.359 8.048 3.241 8.144 3.144C8.241 3.048 8.359 3 8.5 3L14.5 3C14.641 3 14.759 3.048 14.856 3.144C14.952 3.241 15 3.359 15 3.5L15 7.5C15 7.641 14.952 7.759 14.856 7.856C14.759 7.952 14.641 8 14.5 8L11.5 8C11.246 8 11.002 8.049 10.767 8.146C10.533 8.243 10.326 8.381 10.146 8.561L5.561 13.146C5.287 13.42 4.972 13.63 4.615 13.778C4.258 13.926 3.886 14 3.5 14L1.5 14C1.359 14 1.241 13.952 1.144 13.856C1.048 13.759 1 13.641 1 13.5L1 9.5C1 9.359 1.048 9.241 1.144 9.144C1.241 9.048 1.359 9 1.5 9L4 9L4 7.5ZM4.233 12.854C4.467 12.757 4.674 12.619 4.854 12.439L9.439 7.854C9.713 7.58 10.028 7.37 10.385 7.222C10.742 7.074 11.114 7 11.5 7L14 7L14 4L9 4L9 5.5C9 5.641 8.952 5.759 8.856 5.856C8.759 5.952 8.641 6 8.5 6L7 6L7 7.5C7 7.641 6.952 7.759 6.856 7.856C6.759 7.952 6.641 8 6.5 8L5 8L5 9.5C5 9.641 4.952 9.759 4.856 9.856C4.759 9.952 4.641 10 4.5 10L2 10L2 13L3.5 13C3.754 13 3.998 12.951 4.233 12.854Z" />
  </svg>
</template>
```

### Svelte

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

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" {...props}>
  <path d="M6.5 1L14.5 1C14.641 1 14.759 1.048 14.856 1.144C14.952 1.241 15 1.359 15 1.5C15 1.641 14.952 1.759 14.856 1.856C14.759 1.952 14.641 2 14.5 2L6.707 2L1.854 6.854C1.756 6.951 1.638 7 1.5 7C1.362 7 1.244 6.951 1.146 6.854C1.049 6.756 1 6.638 1 6.5C1 6.362 1.049 6.244 1.146 6.146L6.146 1.146C6.244 1.049 6.362 1 6.5 1ZM4 7.5C4 7.359 4.048 7.241 4.144 7.144C4.241 7.048 4.359 7 4.5 7L6 7L6 5.5C6 5.359 6.048 5.241 6.144 5.144C6.241 5.048 6.359 5 6.5 5L8 5L8 3.5C8 3.359 8.048 3.241 8.144 3.144C8.241 3.048 8.359 3 8.5 3L14.5 3C14.641 3 14.759 3.048 14.856 3.144C14.952 3.241 15 3.359 15 3.5L15 7.5C15 7.641 14.952 7.759 14.856 7.856C14.759 7.952 14.641 8 14.5 8L11.5 8C11.246 8 11.002 8.049 10.767 8.146C10.533 8.243 10.326 8.381 10.146 8.561L5.561 13.146C5.287 13.42 4.972 13.63 4.615 13.778C4.258 13.926 3.886 14 3.5 14L1.5 14C1.359 14 1.241 13.952 1.144 13.856C1.048 13.759 1 13.641 1 13.5L1 9.5C1 9.359 1.048 9.241 1.144 9.144C1.241 9.048 1.359 9 1.5 9L4 9L4 7.5ZM4.233 12.854C4.467 12.757 4.674 12.619 4.854 12.439L9.439 7.854C9.713 7.58 10.028 7.37 10.385 7.222C10.742 7.074 11.114 7 11.5 7L14 7L14 4L9 4L9 5.5C9 5.641 8.952 5.759 8.856 5.856C8.759 5.952 8.641 6 8.5 6L7 6L7 7.5C7 7.641 6.952 7.759 6.856 7.856C6.759 7.952 6.641 8 6.5 8L5 8L5 9.5C5 9.641 4.952 9.759 4.856 9.856C4.759 9.952 4.641 10 4.5 10L2 10L2 13L3.5 13C3.754 13 3.998 12.951 4.233 12.854Z" />
</svg>
```

### HTML img

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

### CSS

```css
/* Gentleface "escalator" (line-round), MIT. https://gentleface.com/icons/escalator. Takes the text color. */
.icon-escalator {
  display: inline-block;
  width: 16px;
  height: 16px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M6.5 1L14.5 1C14.641 1 14.759 1.048 14.856 1.144C14.952 1.241 15 1.359 15 1.5C15 1.641 14.952 1.759 14.856 1.856C14.759 1.952 14.641 2 14.5 2L6.707 2L1.854 6.854C1.756 6.951 1.638 7 1.5 7C1.362 7 1.244 6.951 1.146 6.854C1.049 6.756 1 6.638 1 6.5C1 6.362 1.049 6.244 1.146 6.146L6.146 1.146C6.244 1.049 6.362 1 6.5 1ZM4 7.5C4 7.359 4.048 7.241 4.144 7.144C4.241 7.048 4.359 7 4.5 7L6 7L6 5.5C6 5.359 6.048 5.241 6.144 5.144C6.241 5.048 6.359 5 6.5 5L8 5L8 3.5C8 3.359 8.048 3.241 8.144 3.144C8.241 3.048 8.359 3 8.5 3L14.5 3C14.641 3 14.759 3.048 14.856 3.144C14.952 3.241 15 3.359 15 3.5L15 7.5C15 7.641 14.952 7.759 14.856 7.856C14.759 7.952 14.641 8 14.5 8L11.5 8C11.246 8 11.002 8.049 10.767 8.146C10.533 8.243 10.326 8.381 10.146 8.561L5.561 13.146C5.287 13.42 4.972 13.63 4.615 13.778C4.258 13.926 3.886 14 3.5 14L1.5 14C1.359 14 1.241 13.952 1.144 13.856C1.048 13.759 1 13.641 1 13.5L1 9.5C1 9.359 1.048 9.241 1.144 9.144C1.241 9.048 1.359 9 1.5 9L4 9L4 7.5ZM4.233 12.854C4.467 12.757 4.674 12.619 4.854 12.439L9.439 7.854C9.713 7.58 10.028 7.37 10.385 7.222C10.742 7.074 11.114 7 11.5 7L14 7L14 4L9 4L9 5.5C9 5.641 8.952 5.759 8.856 5.856C8.759 5.952 8.641 6 8.5 6L7 6L7 7.5C7 7.641 6.952 7.759 6.856 7.856C6.759 7.952 6.641 8 6.5 8L5 8L5 9.5C5 9.641 4.952 9.759 4.856 9.856C4.759 9.952 4.641 10 4.5 10L2 10L2 13L3.5 13C3.754 13 3.998 12.951 4.233 12.854Z'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M6.5 1L14.5 1C14.641 1 14.759 1.048 14.856 1.144C14.952 1.241 15 1.359 15 1.5C15 1.641 14.952 1.759 14.856 1.856C14.759 1.952 14.641 2 14.5 2L6.707 2L1.854 6.854C1.756 6.951 1.638 7 1.5 7C1.362 7 1.244 6.951 1.146 6.854C1.049 6.756 1 6.638 1 6.5C1 6.362 1.049 6.244 1.146 6.146L6.146 1.146C6.244 1.049 6.362 1 6.5 1ZM4 7.5C4 7.359 4.048 7.241 4.144 7.144C4.241 7.048 4.359 7 4.5 7L6 7L6 5.5C6 5.359 6.048 5.241 6.144 5.144C6.241 5.048 6.359 5 6.5 5L8 5L8 3.5C8 3.359 8.048 3.241 8.144 3.144C8.241 3.048 8.359 3 8.5 3L14.5 3C14.641 3 14.759 3.048 14.856 3.144C14.952 3.241 15 3.359 15 3.5L15 7.5C15 7.641 14.952 7.759 14.856 7.856C14.759 7.952 14.641 8 14.5 8L11.5 8C11.246 8 11.002 8.049 10.767 8.146C10.533 8.243 10.326 8.381 10.146 8.561L5.561 13.146C5.287 13.42 4.972 13.63 4.615 13.778C4.258 13.926 3.886 14 3.5 14L1.5 14C1.359 14 1.241 13.952 1.144 13.856C1.048 13.759 1 13.641 1 13.5L1 9.5C1 9.359 1.048 9.241 1.144 9.144C1.241 9.048 1.359 9 1.5 9L4 9L4 7.5ZM4.233 12.854C4.467 12.757 4.674 12.619 4.854 12.439L9.439 7.854C9.713 7.58 10.028 7.37 10.385 7.222C10.742 7.074 11.114 7 11.5 7L14 7L14 4L9 4L9 5.5C9 5.641 8.952 5.759 8.856 5.856C8.759 5.952 8.641 6 8.5 6L7 6L7 7.5C7 7.641 6.952 7.759 6.856 7.856C6.759 7.952 6.641 8 6.5 8L5 8L5 9.5C5 9.641 4.952 9.759 4.856 9.856C4.759 9.952 4.641 10 4.5 10L2 10L2 13L3.5 13C3.754 13 3.998 12.951 4.233 12.854Z'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
}
```

### Data URL

```text
data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M6.5 1L14.5 1C14.641 1 14.759 1.048 14.856 1.144C14.952 1.241 15 1.359 15 1.5C15 1.641 14.952 1.759 14.856 1.856C14.759 1.952 14.641 2 14.5 2L6.707 2L1.854 6.854C1.756 6.951 1.638 7 1.5 7C1.362 7 1.244 6.951 1.146 6.854C1.049 6.756 1 6.638 1 6.5C1 6.362 1.049 6.244 1.146 6.146L6.146 1.146C6.244 1.049 6.362 1 6.5 1ZM4 7.5C4 7.359 4.048 7.241 4.144 7.144C4.241 7.048 4.359 7 4.5 7L6 7L6 5.5C6 5.359 6.048 5.241 6.144 5.144C6.241 5.048 6.359 5 6.5 5L8 5L8 3.5C8 3.359 8.048 3.241 8.144 3.144C8.241 3.048 8.359 3 8.5 3L14.5 3C14.641 3 14.759 3.048 14.856 3.144C14.952 3.241 15 3.359 15 3.5L15 7.5C15 7.641 14.952 7.759 14.856 7.856C14.759 7.952 14.641 8 14.5 8L11.5 8C11.246 8 11.002 8.049 10.767 8.146C10.533 8.243 10.326 8.381 10.146 8.561L5.561 13.146C5.287 13.42 4.972 13.63 4.615 13.778C4.258 13.926 3.886 14 3.5 14L1.5 14C1.359 14 1.241 13.952 1.144 13.856C1.048 13.759 1 13.641 1 13.5L1 9.5C1 9.359 1.048 9.241 1.144 9.144C1.241 9.048 1.359 9 1.5 9L4 9L4 7.5ZM4.233 12.854C4.467 12.757 4.674 12.619 4.854 12.439L9.439 7.854C9.713 7.58 10.028 7.37 10.385 7.222C10.742 7.074 11.114 7 11.5 7L14 7L14 4L9 4L9 5.5C9 5.641 8.952 5.759 8.856 5.856C8.759 5.952 8.641 6 8.5 6L7 6L7 7.5C7 7.641 6.952 7.759 6.856 7.856C6.759 7.952 6.641 8 6.5 8L5 8L5 9.5C5 9.641 4.952 9.759 4.856 9.856C4.759 9.952 4.641 10 4.5 10L2 10L2 13L3.5 13C3.754 13 3.998 12.951 4.233 12.854Z'/%3E%3C/svg%3E
```

### Sprite

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

### SwiftUI

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

struct EscalatorIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 6.5, y: 1))
        p.addLine(to: CGPoint(x: 14.5, y: 1))
        p.addCurve(to: CGPoint(x: 14.856, y: 1.144), control1: CGPoint(x: 14.641, y: 1), control2: CGPoint(x: 14.759, y: 1.048))
        p.addCurve(to: CGPoint(x: 15, y: 1.5), control1: CGPoint(x: 14.952, y: 1.241), control2: CGPoint(x: 15, y: 1.359))
        p.addCurve(to: CGPoint(x: 14.856, y: 1.856), control1: CGPoint(x: 15, y: 1.641), control2: CGPoint(x: 14.952, y: 1.759))
        p.addCurve(to: CGPoint(x: 14.5, y: 2), control1: CGPoint(x: 14.759, y: 1.952), control2: CGPoint(x: 14.641, y: 2))
        p.addLine(to: CGPoint(x: 6.707, y: 2))
        p.addLine(to: CGPoint(x: 1.854, y: 6.854))
        p.addCurve(to: CGPoint(x: 1.5, y: 7), control1: CGPoint(x: 1.756, y: 6.951), control2: CGPoint(x: 1.638, y: 7))
        p.addCurve(to: CGPoint(x: 1.146, y: 6.854), control1: CGPoint(x: 1.362, y: 7), control2: CGPoint(x: 1.244, y: 6.951))
        p.addCurve(to: CGPoint(x: 1, y: 6.5), control1: CGPoint(x: 1.049, y: 6.756), control2: CGPoint(x: 1, y: 6.638))
        p.addCurve(to: CGPoint(x: 1.146, y: 6.146), control1: CGPoint(x: 1, y: 6.362), control2: CGPoint(x: 1.049, y: 6.244))
        p.addLine(to: CGPoint(x: 6.146, y: 1.146))
        p.addCurve(to: CGPoint(x: 6.5, y: 1), control1: CGPoint(x: 6.244, y: 1.049), control2: CGPoint(x: 6.362, y: 1))
        p.closeSubpath()
        p.move(to: CGPoint(x: 4, y: 7.5))
        p.addCurve(to: CGPoint(x: 4.144, y: 7.144), control1: CGPoint(x: 4, y: 7.359), control2: CGPoint(x: 4.048, y: 7.241))
        p.addCurve(to: CGPoint(x: 4.5, y: 7), control1: CGPoint(x: 4.241, y: 7.048), control2: CGPoint(x: 4.359, y: 7))
        p.addLine(to: CGPoint(x: 6, y: 7))
        p.addLine(to: CGPoint(x: 6, y: 5.5))
        p.addCurve(to: CGPoint(x: 6.144, y: 5.144), control1: CGPoint(x: 6, y: 5.359), control2: CGPoint(x: 6.048, y: 5.241))
        p.addCurve(to: CGPoint(x: 6.5, y: 5), control1: CGPoint(x: 6.241, y: 5.048), control2: CGPoint(x: 6.359, y: 5))
        p.addLine(to: CGPoint(x: 8, y: 5))
        p.addLine(to: CGPoint(x: 8, y: 3.5))
        p.addCurve(to: CGPoint(x: 8.144, y: 3.144), control1: CGPoint(x: 8, y: 3.359), control2: CGPoint(x: 8.048, y: 3.241))
        p.addCurve(to: CGPoint(x: 8.5, y: 3), control1: CGPoint(x: 8.241, y: 3.048), control2: CGPoint(x: 8.359, y: 3))
        p.addLine(to: CGPoint(x: 14.5, y: 3))
        p.addCurve(to: CGPoint(x: 14.856, y: 3.144), control1: CGPoint(x: 14.641, y: 3), control2: CGPoint(x: 14.759, y: 3.048))
        p.addCurve(to: CGPoint(x: 15, y: 3.5), control1: CGPoint(x: 14.952, y: 3.241), control2: CGPoint(x: 15, y: 3.359))
        p.addLine(to: CGPoint(x: 15, y: 7.5))
        p.addCurve(to: CGPoint(x: 14.856, y: 7.856), control1: CGPoint(x: 15, y: 7.641), control2: CGPoint(x: 14.952, y: 7.759))
        p.addCurve(to: CGPoint(x: 14.5, y: 8), control1: CGPoint(x: 14.759, y: 7.952), control2: CGPoint(x: 14.641, y: 8))
        p.addLine(to: CGPoint(x: 11.5, y: 8))
        p.addCurve(to: CGPoint(x: 10.767, y: 8.146), control1: CGPoint(x: 11.246, y: 8), control2: CGPoint(x: 11.002, y: 8.049))
        p.addCurve(to: CGPoint(x: 10.146, y: 8.561), control1: CGPoint(x: 10.533, y: 8.243), control2: CGPoint(x: 10.326, y: 8.381))
        p.addLine(to: CGPoint(x: 5.561, y: 13.146))
        p.addCurve(to: CGPoint(x: 4.615, y: 13.778), control1: CGPoint(x: 5.287, y: 13.42), control2: CGPoint(x: 4.972, y: 13.63))
        p.addCurve(to: CGPoint(x: 3.5, y: 14), control1: CGPoint(x: 4.258, y: 13.926), control2: CGPoint(x: 3.886, y: 14))
        p.addLine(to: CGPoint(x: 1.5, y: 14))
        p.addCurve(to: CGPoint(x: 1.144, y: 13.856), control1: CGPoint(x: 1.359, y: 14), control2: CGPoint(x: 1.241, y: 13.952))
        p.addCurve(to: CGPoint(x: 1, y: 13.5), control1: CGPoint(x: 1.048, y: 13.759), control2: CGPoint(x: 1, y: 13.641))
        p.addLine(to: CGPoint(x: 1, y: 9.5))
        p.addCurve(to: CGPoint(x: 1.144, y: 9.144), control1: CGPoint(x: 1, y: 9.359), control2: CGPoint(x: 1.048, y: 9.241))
        p.addCurve(to: CGPoint(x: 1.5, y: 9), control1: CGPoint(x: 1.241, y: 9.048), control2: CGPoint(x: 1.359, y: 9))
        p.addLine(to: CGPoint(x: 4, y: 9))
        p.addLine(to: CGPoint(x: 4, y: 7.5))
        p.closeSubpath()
        p.move(to: CGPoint(x: 4.233, y: 12.854))
        p.addCurve(to: CGPoint(x: 4.854, y: 12.439), control1: CGPoint(x: 4.467, y: 12.757), control2: CGPoint(x: 4.674, y: 12.619))
        p.addLine(to: CGPoint(x: 9.439, y: 7.854))
        p.addCurve(to: CGPoint(x: 10.385, y: 7.222), control1: CGPoint(x: 9.713, y: 7.58), control2: CGPoint(x: 10.028, y: 7.37))
        p.addCurve(to: CGPoint(x: 11.5, y: 7), control1: CGPoint(x: 10.742, y: 7.074), control2: CGPoint(x: 11.114, y: 7))
        p.addLine(to: CGPoint(x: 14, y: 7))
        p.addLine(to: CGPoint(x: 14, y: 4))
        p.addLine(to: CGPoint(x: 9, y: 4))
        p.addLine(to: CGPoint(x: 9, y: 5.5))
        p.addCurve(to: CGPoint(x: 8.856, y: 5.856), control1: CGPoint(x: 9, y: 5.641), control2: CGPoint(x: 8.952, y: 5.759))
        p.addCurve(to: CGPoint(x: 8.5, y: 6), control1: CGPoint(x: 8.759, y: 5.952), control2: CGPoint(x: 8.641, y: 6))
        p.addLine(to: CGPoint(x: 7, y: 6))
        p.addLine(to: CGPoint(x: 7, y: 7.5))
        p.addCurve(to: CGPoint(x: 6.856, y: 7.856), control1: CGPoint(x: 7, y: 7.641), control2: CGPoint(x: 6.952, y: 7.759))
        p.addCurve(to: CGPoint(x: 6.5, y: 8), control1: CGPoint(x: 6.759, y: 7.952), control2: CGPoint(x: 6.641, y: 8))
        p.addLine(to: CGPoint(x: 5, y: 8))
        p.addLine(to: CGPoint(x: 5, y: 9.5))
        p.addCurve(to: CGPoint(x: 4.856, y: 9.856), control1: CGPoint(x: 5, y: 9.641), control2: CGPoint(x: 4.952, y: 9.759))
        p.addCurve(to: CGPoint(x: 4.5, y: 10), control1: CGPoint(x: 4.759, y: 9.952), control2: CGPoint(x: 4.641, y: 10))
        p.addLine(to: CGPoint(x: 2, y: 10))
        p.addLine(to: CGPoint(x: 2, y: 13))
        p.addLine(to: CGPoint(x: 3.5, y: 13))
        p.addCurve(to: CGPoint(x: 4.233, y: 12.854), control1: CGPoint(x: 3.754, y: 13), control2: CGPoint(x: 3.998, y: 12.951))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

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

### Compose

```kotlin
// Gentleface "escalator" (line-round), MIT. https://gentleface.com/icons/escalator
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 EscalatorIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "escalator", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M6.5 1L14.5 1C14.641 1 14.759 1.048 14.856 1.144C14.952 1.241 15 1.359 15 1.5C15 1.641 14.952 1.759 14.856 1.856C14.759 1.952 14.641 2 14.5 2L6.707 2L1.854 6.854C1.756 6.951 1.638 7 1.5 7C1.362 7 1.244 6.951 1.146 6.854C1.049 6.756 1 6.638 1 6.5C1 6.362 1.049 6.244 1.146 6.146L6.146 1.146C6.244 1.049 6.362 1 6.5 1ZM4 7.5C4 7.359 4.048 7.241 4.144 7.144C4.241 7.048 4.359 7 4.5 7L6 7L6 5.5C6 5.359 6.048 5.241 6.144 5.144C6.241 5.048 6.359 5 6.5 5L8 5L8 3.5C8 3.359 8.048 3.241 8.144 3.144C8.241 3.048 8.359 3 8.5 3L14.5 3C14.641 3 14.759 3.048 14.856 3.144C14.952 3.241 15 3.359 15 3.5L15 7.5C15 7.641 14.952 7.759 14.856 7.856C14.759 7.952 14.641 8 14.5 8L11.5 8C11.246 8 11.002 8.049 10.767 8.146C10.533 8.243 10.326 8.381 10.146 8.561L5.561 13.146C5.287 13.42 4.972 13.63 4.615 13.778C4.258 13.926 3.886 14 3.5 14L1.5 14C1.359 14 1.241 13.952 1.144 13.856C1.048 13.759 1 13.641 1 13.5L1 9.5C1 9.359 1.048 9.241 1.144 9.144C1.241 9.048 1.359 9 1.5 9L4 9L4 7.5ZM4.233 12.854C4.467 12.757 4.674 12.619 4.854 12.439L9.439 7.854C9.713 7.58 10.028 7.37 10.385 7.222C10.742 7.074 11.114 7 11.5 7L14 7L14 4L9 4L9 5.5C9 5.641 8.952 5.759 8.856 5.856C8.759 5.952 8.641 6 8.5 6L7 6L7 7.5C7 7.641 6.952 7.759 6.856 7.856C6.759 7.952 6.641 8 6.5 8L5 8L5 9.5C5 9.641 4.952 9.759 4.856 9.856C4.759 9.952 4.641 10 4.5 10L2 10L2 13L3.5 13C3.754 13 3.998 12.951 4.233 12.854Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

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

### Android XML

```xml
<!-- res/drawable/ic_escalator.xml · Gentleface "escalator" (line-round), MIT. https://gentleface.com/icons/escalator -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="16dp"
    android:height="16dp"
    android:viewportWidth="16"
    android:viewportHeight="16"
    android:tint="?attr/colorControlNormal">
  <path
      android:fillColor="@android:color/white"
      android:pathData="M6.5 1L14.5 1C14.641 1 14.759 1.048 14.856 1.144C14.952 1.241 15 1.359 15 1.5C15 1.641 14.952 1.759 14.856 1.856C14.759 1.952 14.641 2 14.5 2L6.707 2L1.854 6.854C1.756 6.951 1.638 7 1.5 7C1.362 7 1.244 6.951 1.146 6.854C1.049 6.756 1 6.638 1 6.5C1 6.362 1.049 6.244 1.146 6.146L6.146 1.146C6.244 1.049 6.362 1 6.5 1ZM4 7.5C4 7.359 4.048 7.241 4.144 7.144C4.241 7.048 4.359 7 4.5 7L6 7L6 5.5C6 5.359 6.048 5.241 6.144 5.144C6.241 5.048 6.359 5 6.5 5L8 5L8 3.5C8 3.359 8.048 3.241 8.144 3.144C8.241 3.048 8.359 3 8.5 3L14.5 3C14.641 3 14.759 3.048 14.856 3.144C14.952 3.241 15 3.359 15 3.5L15 7.5C15 7.641 14.952 7.759 14.856 7.856C14.759 7.952 14.641 8 14.5 8L11.5 8C11.246 8 11.002 8.049 10.767 8.146C10.533 8.243 10.326 8.381 10.146 8.561L5.561 13.146C5.287 13.42 4.972 13.63 4.615 13.778C4.258 13.926 3.886 14 3.5 14L1.5 14C1.359 14 1.241 13.952 1.144 13.856C1.048 13.759 1 13.641 1 13.5L1 9.5C1 9.359 1.048 9.241 1.144 9.144C1.241 9.048 1.359 9 1.5 9L4 9L4 7.5ZM4.233 12.854C4.467 12.757 4.674 12.619 4.854 12.439L9.439 7.854C9.713 7.58 10.028 7.37 10.385 7.222C10.742 7.074 11.114 7 11.5 7L14 7L14 4L9 4L9 5.5C9 5.641 8.952 5.759 8.856 5.856C8.759 5.952 8.641 6 8.5 6L7 6L7 7.5C7 7.641 6.952 7.759 6.856 7.856C6.759 7.952 6.641 8 6.5 8L5 8L5 9.5C5 9.641 4.952 9.759 4.856 9.856C4.759 9.952 4.641 10 4.5 10L2 10L2 13L3.5 13C3.754 13 3.998 12.951 4.233 12.854Z"/>
</vector>
```

### Flutter

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

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

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

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

  @override
  void paint(Canvas canvas, Size size) {
    canvas.scale(size.width / 16, size.height / 16);
    final p = Path()
      ..moveTo(6.5, 1)
      ..lineTo(14.5, 1)
      ..cubicTo(14.641, 1, 14.759, 1.048, 14.856, 1.144)
      ..cubicTo(14.952, 1.241, 15, 1.359, 15, 1.5)
      ..cubicTo(15, 1.641, 14.952, 1.759, 14.856, 1.856)
      ..cubicTo(14.759, 1.952, 14.641, 2, 14.5, 2)
      ..lineTo(6.707, 2)
      ..lineTo(1.854, 6.854)
      ..cubicTo(1.756, 6.951, 1.638, 7, 1.5, 7)
      ..cubicTo(1.362, 7, 1.244, 6.951, 1.146, 6.854)
      ..cubicTo(1.049, 6.756, 1, 6.638, 1, 6.5)
      ..cubicTo(1, 6.362, 1.049, 6.244, 1.146, 6.146)
      ..lineTo(6.146, 1.146)
      ..cubicTo(6.244, 1.049, 6.362, 1, 6.5, 1)
      ..close()
      ..moveTo(4, 7.5)
      ..cubicTo(4, 7.359, 4.048, 7.241, 4.144, 7.144)
      ..cubicTo(4.241, 7.048, 4.359, 7, 4.5, 7)
      ..lineTo(6, 7)
      ..lineTo(6, 5.5)
      ..cubicTo(6, 5.359, 6.048, 5.241, 6.144, 5.144)
      ..cubicTo(6.241, 5.048, 6.359, 5, 6.5, 5)
      ..lineTo(8, 5)
      ..lineTo(8, 3.5)
      ..cubicTo(8, 3.359, 8.048, 3.241, 8.144, 3.144)
      ..cubicTo(8.241, 3.048, 8.359, 3, 8.5, 3)
      ..lineTo(14.5, 3)
      ..cubicTo(14.641, 3, 14.759, 3.048, 14.856, 3.144)
      ..cubicTo(14.952, 3.241, 15, 3.359, 15, 3.5)
      ..lineTo(15, 7.5)
      ..cubicTo(15, 7.641, 14.952, 7.759, 14.856, 7.856)
      ..cubicTo(14.759, 7.952, 14.641, 8, 14.5, 8)
      ..lineTo(11.5, 8)
      ..cubicTo(11.246, 8, 11.002, 8.049, 10.767, 8.146)
      ..cubicTo(10.533, 8.243, 10.326, 8.381, 10.146, 8.561)
      ..lineTo(5.561, 13.146)
      ..cubicTo(5.287, 13.42, 4.972, 13.63, 4.615, 13.778)
      ..cubicTo(4.258, 13.926, 3.886, 14, 3.5, 14)
      ..lineTo(1.5, 14)
      ..cubicTo(1.359, 14, 1.241, 13.952, 1.144, 13.856)
      ..cubicTo(1.048, 13.759, 1, 13.641, 1, 13.5)
      ..lineTo(1, 9.5)
      ..cubicTo(1, 9.359, 1.048, 9.241, 1.144, 9.144)
      ..cubicTo(1.241, 9.048, 1.359, 9, 1.5, 9)
      ..lineTo(4, 9)
      ..lineTo(4, 7.5)
      ..close()
      ..moveTo(4.233, 12.854)
      ..cubicTo(4.467, 12.757, 4.674, 12.619, 4.854, 12.439)
      ..lineTo(9.439, 7.854)
      ..cubicTo(9.713, 7.58, 10.028, 7.37, 10.385, 7.222)
      ..cubicTo(10.742, 7.074, 11.114, 7, 11.5, 7)
      ..lineTo(14, 7)
      ..lineTo(14, 4)
      ..lineTo(9, 4)
      ..lineTo(9, 5.5)
      ..cubicTo(9, 5.641, 8.952, 5.759, 8.856, 5.856)
      ..cubicTo(8.759, 5.952, 8.641, 6, 8.5, 6)
      ..lineTo(7, 6)
      ..lineTo(7, 7.5)
      ..cubicTo(7, 7.641, 6.952, 7.759, 6.856, 7.856)
      ..cubicTo(6.759, 7.952, 6.641, 8, 6.5, 8)
      ..lineTo(5, 8)
      ..lineTo(5, 9.5)
      ..cubicTo(5, 9.641, 4.952, 9.759, 4.856, 9.856)
      ..cubicTo(4.759, 9.952, 4.641, 10, 4.5, 10)
      ..lineTo(2, 10)
      ..lineTo(2, 13)
      ..lineTo(3.5, 13)
      ..cubicTo(3.754, 13, 3.998, 12.951, 4.233, 12.854)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

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