# altitude icon

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

- Category: Maps & places
- Use it for: altitude, elevation, elevation gain, elevation profile
- Tags: altitude, elevation, height, elevation-gain, mountain, peak, climb, hiking, aviation, terrain
- Component name: AltitudeIcon
- Added: 2026-11-07
- Since: version 0.6.0
- npm: `import { AltitudeIcon } from '@gentleface/react';` (@gentleface/react 0.6.0)

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

The SVG of every style: https://gentleface.com/icons/altitude.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="M12.146 1.146C12.246 1.047 12.364 0.997 12.5 0.997C12.636 0.997 12.754 1.047 12.854 1.146L14.854 3.146C14.951 3.244 15 3.362 15 3.5C15 3.638 14.951 3.756 14.854 3.854C14.754 3.953 14.636 4.003 14.5 4.003C14.364 4.003 14.246 3.953 14.146 3.854L13 2.707L13 6.5C13 6.641 12.952 6.759 12.856 6.856C12.759 6.952 12.641 7 12.5 7C12.359 7 12.241 6.952 12.144 6.856C12.048 6.759 12 6.641 12 6.5L12 2.707L10.854 3.854C10.754 3.953 10.636 4.003 10.5 4.003C10.364 4.003 10.246 3.953 10.146 3.854C10.049 3.756 10 3.638 10 3.5C10 3.362 10.049 3.244 10.146 3.146L12.146 1.146ZM8.053 5.276C8.115 5.153 8.211 5.069 8.342 5.026C8.473 4.982 8.6 4.991 8.724 5.053C8.823 5.102 8.898 5.177 8.947 5.276L12.585 12.553C12.657 12.697 12.693 12.849 12.691 13.01C12.689 13.196 12.639 13.368 12.542 13.526C12.444 13.684 12.312 13.805 12.147 13.89C12.004 13.963 11.852 14 11.691 14L2.309 14C2.148 14 1.996 13.963 1.853 13.89C1.688 13.805 1.556 13.684 1.458 13.526C1.361 13.368 1.311 13.196 1.309 13.01C1.307 12.849 1.343 12.697 1.415 12.553L2.743 9.897C2.81 9.762 2.903 9.648 3.022 9.555C3.157 9.45 3.308 9.384 3.477 9.357C3.645 9.33 3.81 9.344 3.971 9.401C4.113 9.452 4.237 9.53 4.344 9.637L5.363 10.656L8.053 5.276ZM8.5 6.618L6.257 11.103C6.19 11.238 6.097 11.352 5.978 11.445C5.843 11.55 5.692 11.616 5.523 11.643C5.355 11.67 5.19 11.656 5.029 11.599C4.887 11.548 4.763 11.47 4.656 11.363L3.637 10.344L2.309 13L11.691 13L8.5 6.618Z"/></svg>
```

### React

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

export function AltitudeIcon(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="M12.146 1.146C12.246 1.047 12.364 0.997 12.5 0.997C12.636 0.997 12.754 1.047 12.854 1.146L14.854 3.146C14.951 3.244 15 3.362 15 3.5C15 3.638 14.951 3.756 14.854 3.854C14.754 3.953 14.636 4.003 14.5 4.003C14.364 4.003 14.246 3.953 14.146 3.854L13 2.707L13 6.5C13 6.641 12.952 6.759 12.856 6.856C12.759 6.952 12.641 7 12.5 7C12.359 7 12.241 6.952 12.144 6.856C12.048 6.759 12 6.641 12 6.5L12 2.707L10.854 3.854C10.754 3.953 10.636 4.003 10.5 4.003C10.364 4.003 10.246 3.953 10.146 3.854C10.049 3.756 10 3.638 10 3.5C10 3.362 10.049 3.244 10.146 3.146L12.146 1.146ZM8.053 5.276C8.115 5.153 8.211 5.069 8.342 5.026C8.473 4.982 8.6 4.991 8.724 5.053C8.823 5.102 8.898 5.177 8.947 5.276L12.585 12.553C12.657 12.697 12.693 12.849 12.691 13.01C12.689 13.196 12.639 13.368 12.542 13.526C12.444 13.684 12.312 13.805 12.147 13.89C12.004 13.963 11.852 14 11.691 14L2.309 14C2.148 14 1.996 13.963 1.853 13.89C1.688 13.805 1.556 13.684 1.458 13.526C1.361 13.368 1.311 13.196 1.309 13.01C1.307 12.849 1.343 12.697 1.415 12.553L2.743 9.897C2.81 9.762 2.903 9.648 3.022 9.555C3.157 9.45 3.308 9.384 3.477 9.357C3.645 9.33 3.81 9.344 3.971 9.401C4.113 9.452 4.237 9.53 4.344 9.637L5.363 10.656L8.053 5.276ZM8.5 6.618L6.257 11.103C6.19 11.238 6.097 11.352 5.978 11.445C5.843 11.55 5.692 11.616 5.523 11.643C5.355 11.67 5.19 11.656 5.029 11.599C4.887 11.548 4.763 11.47 4.656 11.363L3.637 10.344L2.309 13L11.691 13L8.5 6.618Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "altitude" (line-round), MIT. https://gentleface.com/icons/altitude -->
<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="M12.146 1.146C12.246 1.047 12.364 0.997 12.5 0.997C12.636 0.997 12.754 1.047 12.854 1.146L14.854 3.146C14.951 3.244 15 3.362 15 3.5C15 3.638 14.951 3.756 14.854 3.854C14.754 3.953 14.636 4.003 14.5 4.003C14.364 4.003 14.246 3.953 14.146 3.854L13 2.707L13 6.5C13 6.641 12.952 6.759 12.856 6.856C12.759 6.952 12.641 7 12.5 7C12.359 7 12.241 6.952 12.144 6.856C12.048 6.759 12 6.641 12 6.5L12 2.707L10.854 3.854C10.754 3.953 10.636 4.003 10.5 4.003C10.364 4.003 10.246 3.953 10.146 3.854C10.049 3.756 10 3.638 10 3.5C10 3.362 10.049 3.244 10.146 3.146L12.146 1.146ZM8.053 5.276C8.115 5.153 8.211 5.069 8.342 5.026C8.473 4.982 8.6 4.991 8.724 5.053C8.823 5.102 8.898 5.177 8.947 5.276L12.585 12.553C12.657 12.697 12.693 12.849 12.691 13.01C12.689 13.196 12.639 13.368 12.542 13.526C12.444 13.684 12.312 13.805 12.147 13.89C12.004 13.963 11.852 14 11.691 14L2.309 14C2.148 14 1.996 13.963 1.853 13.89C1.688 13.805 1.556 13.684 1.458 13.526C1.361 13.368 1.311 13.196 1.309 13.01C1.307 12.849 1.343 12.697 1.415 12.553L2.743 9.897C2.81 9.762 2.903 9.648 3.022 9.555C3.157 9.45 3.308 9.384 3.477 9.357C3.645 9.33 3.81 9.344 3.971 9.401C4.113 9.452 4.237 9.53 4.344 9.637L5.363 10.656L8.053 5.276ZM8.5 6.618L6.257 11.103C6.19 11.238 6.097 11.352 5.978 11.445C5.843 11.55 5.692 11.616 5.523 11.643C5.355 11.67 5.19 11.656 5.029 11.599C4.887 11.548 4.763 11.47 4.656 11.363L3.637 10.344L2.309 13L11.691 13L8.5 6.618Z" />
  </svg>
</template>
```

### Svelte

```svelte
<!-- Gentleface "altitude" (line-round), MIT. https://gentleface.com/icons/altitude -->
<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="M12.146 1.146C12.246 1.047 12.364 0.997 12.5 0.997C12.636 0.997 12.754 1.047 12.854 1.146L14.854 3.146C14.951 3.244 15 3.362 15 3.5C15 3.638 14.951 3.756 14.854 3.854C14.754 3.953 14.636 4.003 14.5 4.003C14.364 4.003 14.246 3.953 14.146 3.854L13 2.707L13 6.5C13 6.641 12.952 6.759 12.856 6.856C12.759 6.952 12.641 7 12.5 7C12.359 7 12.241 6.952 12.144 6.856C12.048 6.759 12 6.641 12 6.5L12 2.707L10.854 3.854C10.754 3.953 10.636 4.003 10.5 4.003C10.364 4.003 10.246 3.953 10.146 3.854C10.049 3.756 10 3.638 10 3.5C10 3.362 10.049 3.244 10.146 3.146L12.146 1.146ZM8.053 5.276C8.115 5.153 8.211 5.069 8.342 5.026C8.473 4.982 8.6 4.991 8.724 5.053C8.823 5.102 8.898 5.177 8.947 5.276L12.585 12.553C12.657 12.697 12.693 12.849 12.691 13.01C12.689 13.196 12.639 13.368 12.542 13.526C12.444 13.684 12.312 13.805 12.147 13.89C12.004 13.963 11.852 14 11.691 14L2.309 14C2.148 14 1.996 13.963 1.853 13.89C1.688 13.805 1.556 13.684 1.458 13.526C1.361 13.368 1.311 13.196 1.309 13.01C1.307 12.849 1.343 12.697 1.415 12.553L2.743 9.897C2.81 9.762 2.903 9.648 3.022 9.555C3.157 9.45 3.308 9.384 3.477 9.357C3.645 9.33 3.81 9.344 3.971 9.401C4.113 9.452 4.237 9.53 4.344 9.637L5.363 10.656L8.053 5.276ZM8.5 6.618L6.257 11.103C6.19 11.238 6.097 11.352 5.978 11.445C5.843 11.55 5.692 11.616 5.523 11.643C5.355 11.67 5.19 11.656 5.029 11.599C4.887 11.548 4.763 11.47 4.656 11.363L3.637 10.344L2.309 13L11.691 13L8.5 6.618Z" />
</svg>
```

### HTML img

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

### CSS

```css
/* Gentleface "altitude" (line-round), MIT. https://gentleface.com/icons/altitude. Takes the text color. */
.icon-altitude {
  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='M12.146 1.146C12.246 1.047 12.364 0.997 12.5 0.997C12.636 0.997 12.754 1.047 12.854 1.146L14.854 3.146C14.951 3.244 15 3.362 15 3.5C15 3.638 14.951 3.756 14.854 3.854C14.754 3.953 14.636 4.003 14.5 4.003C14.364 4.003 14.246 3.953 14.146 3.854L13 2.707L13 6.5C13 6.641 12.952 6.759 12.856 6.856C12.759 6.952 12.641 7 12.5 7C12.359 7 12.241 6.952 12.144 6.856C12.048 6.759 12 6.641 12 6.5L12 2.707L10.854 3.854C10.754 3.953 10.636 4.003 10.5 4.003C10.364 4.003 10.246 3.953 10.146 3.854C10.049 3.756 10 3.638 10 3.5C10 3.362 10.049 3.244 10.146 3.146L12.146 1.146ZM8.053 5.276C8.115 5.153 8.211 5.069 8.342 5.026C8.473 4.982 8.6 4.991 8.724 5.053C8.823 5.102 8.898 5.177 8.947 5.276L12.585 12.553C12.657 12.697 12.693 12.849 12.691 13.01C12.689 13.196 12.639 13.368 12.542 13.526C12.444 13.684 12.312 13.805 12.147 13.89C12.004 13.963 11.852 14 11.691 14L2.309 14C2.148 14 1.996 13.963 1.853 13.89C1.688 13.805 1.556 13.684 1.458 13.526C1.361 13.368 1.311 13.196 1.309 13.01C1.307 12.849 1.343 12.697 1.415 12.553L2.743 9.897C2.81 9.762 2.903 9.648 3.022 9.555C3.157 9.45 3.308 9.384 3.477 9.357C3.645 9.33 3.81 9.344 3.971 9.401C4.113 9.452 4.237 9.53 4.344 9.637L5.363 10.656L8.053 5.276ZM8.5 6.618L6.257 11.103C6.19 11.238 6.097 11.352 5.978 11.445C5.843 11.55 5.692 11.616 5.523 11.643C5.355 11.67 5.19 11.656 5.029 11.599C4.887 11.548 4.763 11.47 4.656 11.363L3.637 10.344L2.309 13L11.691 13L8.5 6.618Z'/%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='M12.146 1.146C12.246 1.047 12.364 0.997 12.5 0.997C12.636 0.997 12.754 1.047 12.854 1.146L14.854 3.146C14.951 3.244 15 3.362 15 3.5C15 3.638 14.951 3.756 14.854 3.854C14.754 3.953 14.636 4.003 14.5 4.003C14.364 4.003 14.246 3.953 14.146 3.854L13 2.707L13 6.5C13 6.641 12.952 6.759 12.856 6.856C12.759 6.952 12.641 7 12.5 7C12.359 7 12.241 6.952 12.144 6.856C12.048 6.759 12 6.641 12 6.5L12 2.707L10.854 3.854C10.754 3.953 10.636 4.003 10.5 4.003C10.364 4.003 10.246 3.953 10.146 3.854C10.049 3.756 10 3.638 10 3.5C10 3.362 10.049 3.244 10.146 3.146L12.146 1.146ZM8.053 5.276C8.115 5.153 8.211 5.069 8.342 5.026C8.473 4.982 8.6 4.991 8.724 5.053C8.823 5.102 8.898 5.177 8.947 5.276L12.585 12.553C12.657 12.697 12.693 12.849 12.691 13.01C12.689 13.196 12.639 13.368 12.542 13.526C12.444 13.684 12.312 13.805 12.147 13.89C12.004 13.963 11.852 14 11.691 14L2.309 14C2.148 14 1.996 13.963 1.853 13.89C1.688 13.805 1.556 13.684 1.458 13.526C1.361 13.368 1.311 13.196 1.309 13.01C1.307 12.849 1.343 12.697 1.415 12.553L2.743 9.897C2.81 9.762 2.903 9.648 3.022 9.555C3.157 9.45 3.308 9.384 3.477 9.357C3.645 9.33 3.81 9.344 3.971 9.401C4.113 9.452 4.237 9.53 4.344 9.637L5.363 10.656L8.053 5.276ZM8.5 6.618L6.257 11.103C6.19 11.238 6.097 11.352 5.978 11.445C5.843 11.55 5.692 11.616 5.523 11.643C5.355 11.67 5.19 11.656 5.029 11.599C4.887 11.548 4.763 11.47 4.656 11.363L3.637 10.344L2.309 13L11.691 13L8.5 6.618Z'/%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='M12.146 1.146C12.246 1.047 12.364 0.997 12.5 0.997C12.636 0.997 12.754 1.047 12.854 1.146L14.854 3.146C14.951 3.244 15 3.362 15 3.5C15 3.638 14.951 3.756 14.854 3.854C14.754 3.953 14.636 4.003 14.5 4.003C14.364 4.003 14.246 3.953 14.146 3.854L13 2.707L13 6.5C13 6.641 12.952 6.759 12.856 6.856C12.759 6.952 12.641 7 12.5 7C12.359 7 12.241 6.952 12.144 6.856C12.048 6.759 12 6.641 12 6.5L12 2.707L10.854 3.854C10.754 3.953 10.636 4.003 10.5 4.003C10.364 4.003 10.246 3.953 10.146 3.854C10.049 3.756 10 3.638 10 3.5C10 3.362 10.049 3.244 10.146 3.146L12.146 1.146ZM8.053 5.276C8.115 5.153 8.211 5.069 8.342 5.026C8.473 4.982 8.6 4.991 8.724 5.053C8.823 5.102 8.898 5.177 8.947 5.276L12.585 12.553C12.657 12.697 12.693 12.849 12.691 13.01C12.689 13.196 12.639 13.368 12.542 13.526C12.444 13.684 12.312 13.805 12.147 13.89C12.004 13.963 11.852 14 11.691 14L2.309 14C2.148 14 1.996 13.963 1.853 13.89C1.688 13.805 1.556 13.684 1.458 13.526C1.361 13.368 1.311 13.196 1.309 13.01C1.307 12.849 1.343 12.697 1.415 12.553L2.743 9.897C2.81 9.762 2.903 9.648 3.022 9.555C3.157 9.45 3.308 9.384 3.477 9.357C3.645 9.33 3.81 9.344 3.971 9.401C4.113 9.452 4.237 9.53 4.344 9.637L5.363 10.656L8.053 5.276ZM8.5 6.618L6.257 11.103C6.19 11.238 6.097 11.352 5.978 11.445C5.843 11.55 5.692 11.616 5.523 11.643C5.355 11.67 5.19 11.656 5.029 11.599C4.887 11.548 4.763 11.47 4.656 11.363L3.637 10.344L2.309 13L11.691 13L8.5 6.618Z'/%3E%3C/svg%3E
```

### Sprite

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

### SwiftUI

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

struct AltitudeIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 12.146, y: 1.146))
        p.addCurve(to: CGPoint(x: 12.5, y: 0.997), control1: CGPoint(x: 12.246, y: 1.047), control2: CGPoint(x: 12.364, y: 0.997))
        p.addCurve(to: CGPoint(x: 12.854, y: 1.146), control1: CGPoint(x: 12.636, y: 0.997), control2: CGPoint(x: 12.754, y: 1.047))
        p.addLine(to: CGPoint(x: 14.854, y: 3.146))
        p.addCurve(to: CGPoint(x: 15, y: 3.5), control1: CGPoint(x: 14.951, y: 3.244), control2: CGPoint(x: 15, y: 3.362))
        p.addCurve(to: CGPoint(x: 14.854, y: 3.854), control1: CGPoint(x: 15, y: 3.638), control2: CGPoint(x: 14.951, y: 3.756))
        p.addCurve(to: CGPoint(x: 14.5, y: 4.003), control1: CGPoint(x: 14.754, y: 3.953), control2: CGPoint(x: 14.636, y: 4.003))
        p.addCurve(to: CGPoint(x: 14.146, y: 3.854), control1: CGPoint(x: 14.364, y: 4.003), control2: CGPoint(x: 14.246, y: 3.953))
        p.addLine(to: CGPoint(x: 13, y: 2.707))
        p.addLine(to: CGPoint(x: 13, y: 6.5))
        p.addCurve(to: CGPoint(x: 12.856, y: 6.856), control1: CGPoint(x: 13, y: 6.641), control2: CGPoint(x: 12.952, y: 6.759))
        p.addCurve(to: CGPoint(x: 12.5, y: 7), control1: CGPoint(x: 12.759, y: 6.952), control2: CGPoint(x: 12.641, y: 7))
        p.addCurve(to: CGPoint(x: 12.144, y: 6.856), control1: CGPoint(x: 12.359, y: 7), control2: CGPoint(x: 12.241, y: 6.952))
        p.addCurve(to: CGPoint(x: 12, y: 6.5), control1: CGPoint(x: 12.048, y: 6.759), control2: CGPoint(x: 12, y: 6.641))
        p.addLine(to: CGPoint(x: 12, y: 2.707))
        p.addLine(to: CGPoint(x: 10.854, y: 3.854))
        p.addCurve(to: CGPoint(x: 10.5, y: 4.003), control1: CGPoint(x: 10.754, y: 3.953), control2: CGPoint(x: 10.636, y: 4.003))
        p.addCurve(to: CGPoint(x: 10.146, y: 3.854), control1: CGPoint(x: 10.364, y: 4.003), control2: CGPoint(x: 10.246, y: 3.953))
        p.addCurve(to: CGPoint(x: 10, y: 3.5), control1: CGPoint(x: 10.049, y: 3.756), control2: CGPoint(x: 10, y: 3.638))
        p.addCurve(to: CGPoint(x: 10.146, y: 3.146), control1: CGPoint(x: 10, y: 3.362), control2: CGPoint(x: 10.049, y: 3.244))
        p.addLine(to: CGPoint(x: 12.146, y: 1.146))
        p.closeSubpath()
        p.move(to: CGPoint(x: 8.053, y: 5.276))
        p.addCurve(to: CGPoint(x: 8.342, y: 5.026), control1: CGPoint(x: 8.115, y: 5.153), control2: CGPoint(x: 8.211, y: 5.069))
        p.addCurve(to: CGPoint(x: 8.724, y: 5.053), control1: CGPoint(x: 8.473, y: 4.982), control2: CGPoint(x: 8.6, y: 4.991))
        p.addCurve(to: CGPoint(x: 8.947, y: 5.276), control1: CGPoint(x: 8.823, y: 5.102), control2: CGPoint(x: 8.898, y: 5.177))
        p.addLine(to: CGPoint(x: 12.585, y: 12.553))
        p.addCurve(to: CGPoint(x: 12.691, y: 13.01), control1: CGPoint(x: 12.657, y: 12.697), control2: CGPoint(x: 12.693, y: 12.849))
        p.addCurve(to: CGPoint(x: 12.542, y: 13.526), control1: CGPoint(x: 12.689, y: 13.196), control2: CGPoint(x: 12.639, y: 13.368))
        p.addCurve(to: CGPoint(x: 12.147, y: 13.89), control1: CGPoint(x: 12.444, y: 13.684), control2: CGPoint(x: 12.312, y: 13.805))
        p.addCurve(to: CGPoint(x: 11.691, y: 14), control1: CGPoint(x: 12.004, y: 13.963), control2: CGPoint(x: 11.852, y: 14))
        p.addLine(to: CGPoint(x: 2.309, y: 14))
        p.addCurve(to: CGPoint(x: 1.853, y: 13.89), control1: CGPoint(x: 2.148, y: 14), control2: CGPoint(x: 1.996, y: 13.963))
        p.addCurve(to: CGPoint(x: 1.458, y: 13.526), control1: CGPoint(x: 1.688, y: 13.805), control2: CGPoint(x: 1.556, y: 13.684))
        p.addCurve(to: CGPoint(x: 1.309, y: 13.01), control1: CGPoint(x: 1.361, y: 13.368), control2: CGPoint(x: 1.311, y: 13.196))
        p.addCurve(to: CGPoint(x: 1.415, y: 12.553), control1: CGPoint(x: 1.307, y: 12.849), control2: CGPoint(x: 1.343, y: 12.697))
        p.addLine(to: CGPoint(x: 2.743, y: 9.897))
        p.addCurve(to: CGPoint(x: 3.022, y: 9.555), control1: CGPoint(x: 2.81, y: 9.762), control2: CGPoint(x: 2.903, y: 9.648))
        p.addCurve(to: CGPoint(x: 3.477, y: 9.357), control1: CGPoint(x: 3.157, y: 9.45), control2: CGPoint(x: 3.308, y: 9.384))
        p.addCurve(to: CGPoint(x: 3.971, y: 9.401), control1: CGPoint(x: 3.645, y: 9.33), control2: CGPoint(x: 3.81, y: 9.344))
        p.addCurve(to: CGPoint(x: 4.344, y: 9.637), control1: CGPoint(x: 4.113, y: 9.452), control2: CGPoint(x: 4.237, y: 9.53))
        p.addLine(to: CGPoint(x: 5.363, y: 10.656))
        p.addLine(to: CGPoint(x: 8.053, y: 5.276))
        p.closeSubpath()
        p.move(to: CGPoint(x: 8.5, y: 6.618))
        p.addLine(to: CGPoint(x: 6.257, y: 11.103))
        p.addCurve(to: CGPoint(x: 5.978, y: 11.445), control1: CGPoint(x: 6.19, y: 11.238), control2: CGPoint(x: 6.097, y: 11.352))
        p.addCurve(to: CGPoint(x: 5.523, y: 11.643), control1: CGPoint(x: 5.843, y: 11.55), control2: CGPoint(x: 5.692, y: 11.616))
        p.addCurve(to: CGPoint(x: 5.029, y: 11.599), control1: CGPoint(x: 5.355, y: 11.67), control2: CGPoint(x: 5.19, y: 11.656))
        p.addCurve(to: CGPoint(x: 4.656, y: 11.363), control1: CGPoint(x: 4.887, y: 11.548), control2: CGPoint(x: 4.763, y: 11.47))
        p.addLine(to: CGPoint(x: 3.637, y: 10.344))
        p.addLine(to: CGPoint(x: 2.309, y: 13))
        p.addLine(to: CGPoint(x: 11.691, y: 13))
        p.addLine(to: CGPoint(x: 8.5, y: 6.618))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

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

### Compose

```kotlin
// Gentleface "altitude" (line-round), MIT. https://gentleface.com/icons/altitude
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 AltitudeIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "altitude", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M12.146 1.146C12.246 1.047 12.364 0.997 12.5 0.997C12.636 0.997 12.754 1.047 12.854 1.146L14.854 3.146C14.951 3.244 15 3.362 15 3.5C15 3.638 14.951 3.756 14.854 3.854C14.754 3.953 14.636 4.003 14.5 4.003C14.364 4.003 14.246 3.953 14.146 3.854L13 2.707L13 6.5C13 6.641 12.952 6.759 12.856 6.856C12.759 6.952 12.641 7 12.5 7C12.359 7 12.241 6.952 12.144 6.856C12.048 6.759 12 6.641 12 6.5L12 2.707L10.854 3.854C10.754 3.953 10.636 4.003 10.5 4.003C10.364 4.003 10.246 3.953 10.146 3.854C10.049 3.756 10 3.638 10 3.5C10 3.362 10.049 3.244 10.146 3.146L12.146 1.146ZM8.053 5.276C8.115 5.153 8.211 5.069 8.342 5.026C8.473 4.982 8.6 4.991 8.724 5.053C8.823 5.102 8.898 5.177 8.947 5.276L12.585 12.553C12.657 12.697 12.693 12.849 12.691 13.01C12.689 13.196 12.639 13.368 12.542 13.526C12.444 13.684 12.312 13.805 12.147 13.89C12.004 13.963 11.852 14 11.691 14L2.309 14C2.148 14 1.996 13.963 1.853 13.89C1.688 13.805 1.556 13.684 1.458 13.526C1.361 13.368 1.311 13.196 1.309 13.01C1.307 12.849 1.343 12.697 1.415 12.553L2.743 9.897C2.81 9.762 2.903 9.648 3.022 9.555C3.157 9.45 3.308 9.384 3.477 9.357C3.645 9.33 3.81 9.344 3.971 9.401C4.113 9.452 4.237 9.53 4.344 9.637L5.363 10.656L8.053 5.276ZM8.5 6.618L6.257 11.103C6.19 11.238 6.097 11.352 5.978 11.445C5.843 11.55 5.692 11.616 5.523 11.643C5.355 11.67 5.19 11.656 5.029 11.599C4.887 11.548 4.763 11.47 4.656 11.363L3.637 10.344L2.309 13L11.691 13L8.5 6.618Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

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

### Android XML

```xml
<!-- res/drawable/ic_altitude.xml · Gentleface "altitude" (line-round), MIT. https://gentleface.com/icons/altitude -->
<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="M12.146 1.146C12.246 1.047 12.364 0.997 12.5 0.997C12.636 0.997 12.754 1.047 12.854 1.146L14.854 3.146C14.951 3.244 15 3.362 15 3.5C15 3.638 14.951 3.756 14.854 3.854C14.754 3.953 14.636 4.003 14.5 4.003C14.364 4.003 14.246 3.953 14.146 3.854L13 2.707L13 6.5C13 6.641 12.952 6.759 12.856 6.856C12.759 6.952 12.641 7 12.5 7C12.359 7 12.241 6.952 12.144 6.856C12.048 6.759 12 6.641 12 6.5L12 2.707L10.854 3.854C10.754 3.953 10.636 4.003 10.5 4.003C10.364 4.003 10.246 3.953 10.146 3.854C10.049 3.756 10 3.638 10 3.5C10 3.362 10.049 3.244 10.146 3.146L12.146 1.146ZM8.053 5.276C8.115 5.153 8.211 5.069 8.342 5.026C8.473 4.982 8.6 4.991 8.724 5.053C8.823 5.102 8.898 5.177 8.947 5.276L12.585 12.553C12.657 12.697 12.693 12.849 12.691 13.01C12.689 13.196 12.639 13.368 12.542 13.526C12.444 13.684 12.312 13.805 12.147 13.89C12.004 13.963 11.852 14 11.691 14L2.309 14C2.148 14 1.996 13.963 1.853 13.89C1.688 13.805 1.556 13.684 1.458 13.526C1.361 13.368 1.311 13.196 1.309 13.01C1.307 12.849 1.343 12.697 1.415 12.553L2.743 9.897C2.81 9.762 2.903 9.648 3.022 9.555C3.157 9.45 3.308 9.384 3.477 9.357C3.645 9.33 3.81 9.344 3.971 9.401C4.113 9.452 4.237 9.53 4.344 9.637L5.363 10.656L8.053 5.276ZM8.5 6.618L6.257 11.103C6.19 11.238 6.097 11.352 5.978 11.445C5.843 11.55 5.692 11.616 5.523 11.643C5.355 11.67 5.19 11.656 5.029 11.599C4.887 11.548 4.763 11.47 4.656 11.363L3.637 10.344L2.309 13L11.691 13L8.5 6.618Z"/>
</vector>
```

### Flutter

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

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

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

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

  @override
  void paint(Canvas canvas, Size size) {
    canvas.scale(size.width / 16, size.height / 16);
    final p = Path()
      ..moveTo(12.146, 1.146)
      ..cubicTo(12.246, 1.047, 12.364, 0.997, 12.5, 0.997)
      ..cubicTo(12.636, 0.997, 12.754, 1.047, 12.854, 1.146)
      ..lineTo(14.854, 3.146)
      ..cubicTo(14.951, 3.244, 15, 3.362, 15, 3.5)
      ..cubicTo(15, 3.638, 14.951, 3.756, 14.854, 3.854)
      ..cubicTo(14.754, 3.953, 14.636, 4.003, 14.5, 4.003)
      ..cubicTo(14.364, 4.003, 14.246, 3.953, 14.146, 3.854)
      ..lineTo(13, 2.707)
      ..lineTo(13, 6.5)
      ..cubicTo(13, 6.641, 12.952, 6.759, 12.856, 6.856)
      ..cubicTo(12.759, 6.952, 12.641, 7, 12.5, 7)
      ..cubicTo(12.359, 7, 12.241, 6.952, 12.144, 6.856)
      ..cubicTo(12.048, 6.759, 12, 6.641, 12, 6.5)
      ..lineTo(12, 2.707)
      ..lineTo(10.854, 3.854)
      ..cubicTo(10.754, 3.953, 10.636, 4.003, 10.5, 4.003)
      ..cubicTo(10.364, 4.003, 10.246, 3.953, 10.146, 3.854)
      ..cubicTo(10.049, 3.756, 10, 3.638, 10, 3.5)
      ..cubicTo(10, 3.362, 10.049, 3.244, 10.146, 3.146)
      ..lineTo(12.146, 1.146)
      ..close()
      ..moveTo(8.053, 5.276)
      ..cubicTo(8.115, 5.153, 8.211, 5.069, 8.342, 5.026)
      ..cubicTo(8.473, 4.982, 8.6, 4.991, 8.724, 5.053)
      ..cubicTo(8.823, 5.102, 8.898, 5.177, 8.947, 5.276)
      ..lineTo(12.585, 12.553)
      ..cubicTo(12.657, 12.697, 12.693, 12.849, 12.691, 13.01)
      ..cubicTo(12.689, 13.196, 12.639, 13.368, 12.542, 13.526)
      ..cubicTo(12.444, 13.684, 12.312, 13.805, 12.147, 13.89)
      ..cubicTo(12.004, 13.963, 11.852, 14, 11.691, 14)
      ..lineTo(2.309, 14)
      ..cubicTo(2.148, 14, 1.996, 13.963, 1.853, 13.89)
      ..cubicTo(1.688, 13.805, 1.556, 13.684, 1.458, 13.526)
      ..cubicTo(1.361, 13.368, 1.311, 13.196, 1.309, 13.01)
      ..cubicTo(1.307, 12.849, 1.343, 12.697, 1.415, 12.553)
      ..lineTo(2.743, 9.897)
      ..cubicTo(2.81, 9.762, 2.903, 9.648, 3.022, 9.555)
      ..cubicTo(3.157, 9.45, 3.308, 9.384, 3.477, 9.357)
      ..cubicTo(3.645, 9.33, 3.81, 9.344, 3.971, 9.401)
      ..cubicTo(4.113, 9.452, 4.237, 9.53, 4.344, 9.637)
      ..lineTo(5.363, 10.656)
      ..lineTo(8.053, 5.276)
      ..close()
      ..moveTo(8.5, 6.618)
      ..lineTo(6.257, 11.103)
      ..cubicTo(6.19, 11.238, 6.097, 11.352, 5.978, 11.445)
      ..cubicTo(5.843, 11.55, 5.692, 11.616, 5.523, 11.643)
      ..cubicTo(5.355, 11.67, 5.19, 11.656, 5.029, 11.599)
      ..cubicTo(4.887, 11.548, 4.763, 11.47, 4.656, 11.363)
      ..lineTo(3.637, 10.344)
      ..lineTo(2.309, 13)
      ..lineTo(11.691, 13)
      ..lineTo(8.5, 6.618)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

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