# hemisphere icon

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

- Category: Shapes
- Use it for: hemisphere, half sphere
- Tags: hemisphere, half sphere, 3d, shape, solid, geometry, primitive
- Family: hemisphere-dome
- Component name: HemisphereIcon
- Added: 2026-11-12

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

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

## Code (line-round)

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

### SVG

```svg
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M3.224 3.766C3.893 3.509 4.662 3.314 5.532 3.181C6.326 3.06 7.148 3 8 3C8.852 3 9.674 3.06 10.468 3.181C11.338 3.314 12.107 3.509 12.776 3.766C13.474 4.034 14.013 4.353 14.392 4.721C14.797 5.115 15 5.541 15 6C15 6.89 14.836 7.749 14.509 8.577C14.153 9.475 13.633 10.266 12.95 10.95C12.266 11.633 11.475 12.153 10.577 12.509C9.749 12.836 8.89 13 8 13C7.11 13 6.251 12.836 5.423 12.509C4.525 12.153 3.734 11.633 3.05 10.95C2.367 10.266 1.847 9.475 1.491 8.577C1.164 7.749 1 6.89 1 6C1 5.541 1.203 5.115 1.608 4.721C1.987 4.353 2.526 4.034 3.224 3.766ZM14 6C14 5.823 13.898 5.636 13.695 5.438C13.414 5.165 12.988 4.918 12.417 4.699C11.816 4.468 11.116 4.291 10.317 4.17C9.574 4.057 8.801 4 8 4C7.199 4 6.426 4.057 5.683 4.17C4.884 4.291 4.184 4.468 3.583 4.699C3.012 4.918 2.586 5.165 2.305 5.438C2.102 5.636 2 5.823 2 6C2 6.177 2.102 6.364 2.305 6.562C2.586 6.835 3.012 7.082 3.583 7.301C4.184 7.532 4.884 7.709 5.683 7.83C6.426 7.943 7.199 8 8 8C8.801 8 9.574 7.943 10.317 7.83C11.116 7.709 11.816 7.532 12.417 7.301C12.988 7.082 13.414 6.835 13.695 6.562C13.898 6.364 14 6.177 14 6ZM3.757 10.243C4.343 10.828 5.021 11.274 5.791 11.579C6.501 11.86 7.237 12 8 12C8.763 12 9.499 11.86 10.209 11.579C10.979 11.274 11.657 10.828 12.243 10.243C12.828 9.657 13.274 8.979 13.579 8.209C13.635 8.066 13.686 7.922 13.731 7.778C13.455 7.943 13.137 8.096 12.776 8.234C12.107 8.491 11.338 8.686 10.468 8.819C9.674 8.94 8.852 9 8 9C7.148 9 6.326 8.94 5.532 8.819C4.662 8.686 3.893 8.491 3.224 8.234C2.863 8.096 2.545 7.943 2.269 7.778C2.314 7.922 2.365 8.066 2.421 8.209C2.726 8.979 3.172 9.657 3.757 10.243Z"/></svg>
```

### React

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

export function HemisphereIcon(props: SVGProps<SVGSVGElement>) {
  return (
    <svg xmlns="http://www.w3.org/2000/svg" width={16} height={16} viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" {...props}>
      <path d="M3.224 3.766C3.893 3.509 4.662 3.314 5.532 3.181C6.326 3.06 7.148 3 8 3C8.852 3 9.674 3.06 10.468 3.181C11.338 3.314 12.107 3.509 12.776 3.766C13.474 4.034 14.013 4.353 14.392 4.721C14.797 5.115 15 5.541 15 6C15 6.89 14.836 7.749 14.509 8.577C14.153 9.475 13.633 10.266 12.95 10.95C12.266 11.633 11.475 12.153 10.577 12.509C9.749 12.836 8.89 13 8 13C7.11 13 6.251 12.836 5.423 12.509C4.525 12.153 3.734 11.633 3.05 10.95C2.367 10.266 1.847 9.475 1.491 8.577C1.164 7.749 1 6.89 1 6C1 5.541 1.203 5.115 1.608 4.721C1.987 4.353 2.526 4.034 3.224 3.766ZM14 6C14 5.823 13.898 5.636 13.695 5.438C13.414 5.165 12.988 4.918 12.417 4.699C11.816 4.468 11.116 4.291 10.317 4.17C9.574 4.057 8.801 4 8 4C7.199 4 6.426 4.057 5.683 4.17C4.884 4.291 4.184 4.468 3.583 4.699C3.012 4.918 2.586 5.165 2.305 5.438C2.102 5.636 2 5.823 2 6C2 6.177 2.102 6.364 2.305 6.562C2.586 6.835 3.012 7.082 3.583 7.301C4.184 7.532 4.884 7.709 5.683 7.83C6.426 7.943 7.199 8 8 8C8.801 8 9.574 7.943 10.317 7.83C11.116 7.709 11.816 7.532 12.417 7.301C12.988 7.082 13.414 6.835 13.695 6.562C13.898 6.364 14 6.177 14 6ZM3.757 10.243C4.343 10.828 5.021 11.274 5.791 11.579C6.501 11.86 7.237 12 8 12C8.763 12 9.499 11.86 10.209 11.579C10.979 11.274 11.657 10.828 12.243 10.243C12.828 9.657 13.274 8.979 13.579 8.209C13.635 8.066 13.686 7.922 13.731 7.778C13.455 7.943 13.137 8.096 12.776 8.234C12.107 8.491 11.338 8.686 10.468 8.819C9.674 8.94 8.852 9 8 9C7.148 9 6.326 8.94 5.532 8.819C4.662 8.686 3.893 8.491 3.224 8.234C2.863 8.096 2.545 7.943 2.269 7.778C2.314 7.922 2.365 8.066 2.421 8.209C2.726 8.979 3.172 9.657 3.757 10.243Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "hemisphere" (line-round), MIT. https://gentleface.com/icons/hemisphere -->
<template>
  <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true">
    <path d="M3.224 3.766C3.893 3.509 4.662 3.314 5.532 3.181C6.326 3.06 7.148 3 8 3C8.852 3 9.674 3.06 10.468 3.181C11.338 3.314 12.107 3.509 12.776 3.766C13.474 4.034 14.013 4.353 14.392 4.721C14.797 5.115 15 5.541 15 6C15 6.89 14.836 7.749 14.509 8.577C14.153 9.475 13.633 10.266 12.95 10.95C12.266 11.633 11.475 12.153 10.577 12.509C9.749 12.836 8.89 13 8 13C7.11 13 6.251 12.836 5.423 12.509C4.525 12.153 3.734 11.633 3.05 10.95C2.367 10.266 1.847 9.475 1.491 8.577C1.164 7.749 1 6.89 1 6C1 5.541 1.203 5.115 1.608 4.721C1.987 4.353 2.526 4.034 3.224 3.766ZM14 6C14 5.823 13.898 5.636 13.695 5.438C13.414 5.165 12.988 4.918 12.417 4.699C11.816 4.468 11.116 4.291 10.317 4.17C9.574 4.057 8.801 4 8 4C7.199 4 6.426 4.057 5.683 4.17C4.884 4.291 4.184 4.468 3.583 4.699C3.012 4.918 2.586 5.165 2.305 5.438C2.102 5.636 2 5.823 2 6C2 6.177 2.102 6.364 2.305 6.562C2.586 6.835 3.012 7.082 3.583 7.301C4.184 7.532 4.884 7.709 5.683 7.83C6.426 7.943 7.199 8 8 8C8.801 8 9.574 7.943 10.317 7.83C11.116 7.709 11.816 7.532 12.417 7.301C12.988 7.082 13.414 6.835 13.695 6.562C13.898 6.364 14 6.177 14 6ZM3.757 10.243C4.343 10.828 5.021 11.274 5.791 11.579C6.501 11.86 7.237 12 8 12C8.763 12 9.499 11.86 10.209 11.579C10.979 11.274 11.657 10.828 12.243 10.243C12.828 9.657 13.274 8.979 13.579 8.209C13.635 8.066 13.686 7.922 13.731 7.778C13.455 7.943 13.137 8.096 12.776 8.234C12.107 8.491 11.338 8.686 10.468 8.819C9.674 8.94 8.852 9 8 9C7.148 9 6.326 8.94 5.532 8.819C4.662 8.686 3.893 8.491 3.224 8.234C2.863 8.096 2.545 7.943 2.269 7.778C2.314 7.922 2.365 8.066 2.421 8.209C2.726 8.979 3.172 9.657 3.757 10.243Z" />
  </svg>
</template>
```

### Svelte

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

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" {...props}>
  <path d="M3.224 3.766C3.893 3.509 4.662 3.314 5.532 3.181C6.326 3.06 7.148 3 8 3C8.852 3 9.674 3.06 10.468 3.181C11.338 3.314 12.107 3.509 12.776 3.766C13.474 4.034 14.013 4.353 14.392 4.721C14.797 5.115 15 5.541 15 6C15 6.89 14.836 7.749 14.509 8.577C14.153 9.475 13.633 10.266 12.95 10.95C12.266 11.633 11.475 12.153 10.577 12.509C9.749 12.836 8.89 13 8 13C7.11 13 6.251 12.836 5.423 12.509C4.525 12.153 3.734 11.633 3.05 10.95C2.367 10.266 1.847 9.475 1.491 8.577C1.164 7.749 1 6.89 1 6C1 5.541 1.203 5.115 1.608 4.721C1.987 4.353 2.526 4.034 3.224 3.766ZM14 6C14 5.823 13.898 5.636 13.695 5.438C13.414 5.165 12.988 4.918 12.417 4.699C11.816 4.468 11.116 4.291 10.317 4.17C9.574 4.057 8.801 4 8 4C7.199 4 6.426 4.057 5.683 4.17C4.884 4.291 4.184 4.468 3.583 4.699C3.012 4.918 2.586 5.165 2.305 5.438C2.102 5.636 2 5.823 2 6C2 6.177 2.102 6.364 2.305 6.562C2.586 6.835 3.012 7.082 3.583 7.301C4.184 7.532 4.884 7.709 5.683 7.83C6.426 7.943 7.199 8 8 8C8.801 8 9.574 7.943 10.317 7.83C11.116 7.709 11.816 7.532 12.417 7.301C12.988 7.082 13.414 6.835 13.695 6.562C13.898 6.364 14 6.177 14 6ZM3.757 10.243C4.343 10.828 5.021 11.274 5.791 11.579C6.501 11.86 7.237 12 8 12C8.763 12 9.499 11.86 10.209 11.579C10.979 11.274 11.657 10.828 12.243 10.243C12.828 9.657 13.274 8.979 13.579 8.209C13.635 8.066 13.686 7.922 13.731 7.778C13.455 7.943 13.137 8.096 12.776 8.234C12.107 8.491 11.338 8.686 10.468 8.819C9.674 8.94 8.852 9 8 9C7.148 9 6.326 8.94 5.532 8.819C4.662 8.686 3.893 8.491 3.224 8.234C2.863 8.096 2.545 7.943 2.269 7.778C2.314 7.922 2.365 8.066 2.421 8.209C2.726 8.979 3.172 9.657 3.757 10.243Z" />
</svg>
```

### HTML img

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

### CSS

```css
/* Gentleface "hemisphere" (line-round), MIT. https://gentleface.com/icons/hemisphere. Takes the text color. */
.icon-hemisphere {
  display: inline-block;
  width: 16px;
  height: 16px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M3.224 3.766C3.893 3.509 4.662 3.314 5.532 3.181C6.326 3.06 7.148 3 8 3C8.852 3 9.674 3.06 10.468 3.181C11.338 3.314 12.107 3.509 12.776 3.766C13.474 4.034 14.013 4.353 14.392 4.721C14.797 5.115 15 5.541 15 6C15 6.89 14.836 7.749 14.509 8.577C14.153 9.475 13.633 10.266 12.95 10.95C12.266 11.633 11.475 12.153 10.577 12.509C9.749 12.836 8.89 13 8 13C7.11 13 6.251 12.836 5.423 12.509C4.525 12.153 3.734 11.633 3.05 10.95C2.367 10.266 1.847 9.475 1.491 8.577C1.164 7.749 1 6.89 1 6C1 5.541 1.203 5.115 1.608 4.721C1.987 4.353 2.526 4.034 3.224 3.766ZM14 6C14 5.823 13.898 5.636 13.695 5.438C13.414 5.165 12.988 4.918 12.417 4.699C11.816 4.468 11.116 4.291 10.317 4.17C9.574 4.057 8.801 4 8 4C7.199 4 6.426 4.057 5.683 4.17C4.884 4.291 4.184 4.468 3.583 4.699C3.012 4.918 2.586 5.165 2.305 5.438C2.102 5.636 2 5.823 2 6C2 6.177 2.102 6.364 2.305 6.562C2.586 6.835 3.012 7.082 3.583 7.301C4.184 7.532 4.884 7.709 5.683 7.83C6.426 7.943 7.199 8 8 8C8.801 8 9.574 7.943 10.317 7.83C11.116 7.709 11.816 7.532 12.417 7.301C12.988 7.082 13.414 6.835 13.695 6.562C13.898 6.364 14 6.177 14 6ZM3.757 10.243C4.343 10.828 5.021 11.274 5.791 11.579C6.501 11.86 7.237 12 8 12C8.763 12 9.499 11.86 10.209 11.579C10.979 11.274 11.657 10.828 12.243 10.243C12.828 9.657 13.274 8.979 13.579 8.209C13.635 8.066 13.686 7.922 13.731 7.778C13.455 7.943 13.137 8.096 12.776 8.234C12.107 8.491 11.338 8.686 10.468 8.819C9.674 8.94 8.852 9 8 9C7.148 9 6.326 8.94 5.532 8.819C4.662 8.686 3.893 8.491 3.224 8.234C2.863 8.096 2.545 7.943 2.269 7.778C2.314 7.922 2.365 8.066 2.421 8.209C2.726 8.979 3.172 9.657 3.757 10.243Z'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M3.224 3.766C3.893 3.509 4.662 3.314 5.532 3.181C6.326 3.06 7.148 3 8 3C8.852 3 9.674 3.06 10.468 3.181C11.338 3.314 12.107 3.509 12.776 3.766C13.474 4.034 14.013 4.353 14.392 4.721C14.797 5.115 15 5.541 15 6C15 6.89 14.836 7.749 14.509 8.577C14.153 9.475 13.633 10.266 12.95 10.95C12.266 11.633 11.475 12.153 10.577 12.509C9.749 12.836 8.89 13 8 13C7.11 13 6.251 12.836 5.423 12.509C4.525 12.153 3.734 11.633 3.05 10.95C2.367 10.266 1.847 9.475 1.491 8.577C1.164 7.749 1 6.89 1 6C1 5.541 1.203 5.115 1.608 4.721C1.987 4.353 2.526 4.034 3.224 3.766ZM14 6C14 5.823 13.898 5.636 13.695 5.438C13.414 5.165 12.988 4.918 12.417 4.699C11.816 4.468 11.116 4.291 10.317 4.17C9.574 4.057 8.801 4 8 4C7.199 4 6.426 4.057 5.683 4.17C4.884 4.291 4.184 4.468 3.583 4.699C3.012 4.918 2.586 5.165 2.305 5.438C2.102 5.636 2 5.823 2 6C2 6.177 2.102 6.364 2.305 6.562C2.586 6.835 3.012 7.082 3.583 7.301C4.184 7.532 4.884 7.709 5.683 7.83C6.426 7.943 7.199 8 8 8C8.801 8 9.574 7.943 10.317 7.83C11.116 7.709 11.816 7.532 12.417 7.301C12.988 7.082 13.414 6.835 13.695 6.562C13.898 6.364 14 6.177 14 6ZM3.757 10.243C4.343 10.828 5.021 11.274 5.791 11.579C6.501 11.86 7.237 12 8 12C8.763 12 9.499 11.86 10.209 11.579C10.979 11.274 11.657 10.828 12.243 10.243C12.828 9.657 13.274 8.979 13.579 8.209C13.635 8.066 13.686 7.922 13.731 7.778C13.455 7.943 13.137 8.096 12.776 8.234C12.107 8.491 11.338 8.686 10.468 8.819C9.674 8.94 8.852 9 8 9C7.148 9 6.326 8.94 5.532 8.819C4.662 8.686 3.893 8.491 3.224 8.234C2.863 8.096 2.545 7.943 2.269 7.778C2.314 7.922 2.365 8.066 2.421 8.209C2.726 8.979 3.172 9.657 3.757 10.243Z'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
}
```

### Data URL

```text
data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M3.224 3.766C3.893 3.509 4.662 3.314 5.532 3.181C6.326 3.06 7.148 3 8 3C8.852 3 9.674 3.06 10.468 3.181C11.338 3.314 12.107 3.509 12.776 3.766C13.474 4.034 14.013 4.353 14.392 4.721C14.797 5.115 15 5.541 15 6C15 6.89 14.836 7.749 14.509 8.577C14.153 9.475 13.633 10.266 12.95 10.95C12.266 11.633 11.475 12.153 10.577 12.509C9.749 12.836 8.89 13 8 13C7.11 13 6.251 12.836 5.423 12.509C4.525 12.153 3.734 11.633 3.05 10.95C2.367 10.266 1.847 9.475 1.491 8.577C1.164 7.749 1 6.89 1 6C1 5.541 1.203 5.115 1.608 4.721C1.987 4.353 2.526 4.034 3.224 3.766ZM14 6C14 5.823 13.898 5.636 13.695 5.438C13.414 5.165 12.988 4.918 12.417 4.699C11.816 4.468 11.116 4.291 10.317 4.17C9.574 4.057 8.801 4 8 4C7.199 4 6.426 4.057 5.683 4.17C4.884 4.291 4.184 4.468 3.583 4.699C3.012 4.918 2.586 5.165 2.305 5.438C2.102 5.636 2 5.823 2 6C2 6.177 2.102 6.364 2.305 6.562C2.586 6.835 3.012 7.082 3.583 7.301C4.184 7.532 4.884 7.709 5.683 7.83C6.426 7.943 7.199 8 8 8C8.801 8 9.574 7.943 10.317 7.83C11.116 7.709 11.816 7.532 12.417 7.301C12.988 7.082 13.414 6.835 13.695 6.562C13.898 6.364 14 6.177 14 6ZM3.757 10.243C4.343 10.828 5.021 11.274 5.791 11.579C6.501 11.86 7.237 12 8 12C8.763 12 9.499 11.86 10.209 11.579C10.979 11.274 11.657 10.828 12.243 10.243C12.828 9.657 13.274 8.979 13.579 8.209C13.635 8.066 13.686 7.922 13.731 7.778C13.455 7.943 13.137 8.096 12.776 8.234C12.107 8.491 11.338 8.686 10.468 8.819C9.674 8.94 8.852 9 8 9C7.148 9 6.326 8.94 5.532 8.819C4.662 8.686 3.893 8.491 3.224 8.234C2.863 8.096 2.545 7.943 2.269 7.778C2.314 7.922 2.365 8.066 2.421 8.209C2.726 8.979 3.172 9.657 3.757 10.243Z'/%3E%3C/svg%3E
```

### Sprite

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

### SwiftUI

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

struct HemisphereIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 3.224, y: 3.766))
        p.addCurve(to: CGPoint(x: 5.532, y: 3.181), control1: CGPoint(x: 3.893, y: 3.509), control2: CGPoint(x: 4.662, y: 3.314))
        p.addCurve(to: CGPoint(x: 8, y: 3), control1: CGPoint(x: 6.326, y: 3.06), control2: CGPoint(x: 7.148, y: 3))
        p.addCurve(to: CGPoint(x: 10.468, y: 3.181), control1: CGPoint(x: 8.852, y: 3), control2: CGPoint(x: 9.674, y: 3.06))
        p.addCurve(to: CGPoint(x: 12.776, y: 3.766), control1: CGPoint(x: 11.338, y: 3.314), control2: CGPoint(x: 12.107, y: 3.509))
        p.addCurve(to: CGPoint(x: 14.392, y: 4.721), control1: CGPoint(x: 13.474, y: 4.034), control2: CGPoint(x: 14.013, y: 4.353))
        p.addCurve(to: CGPoint(x: 15, y: 6), control1: CGPoint(x: 14.797, y: 5.115), control2: CGPoint(x: 15, y: 5.541))
        p.addCurve(to: CGPoint(x: 14.509, y: 8.577), control1: CGPoint(x: 15, y: 6.89), control2: CGPoint(x: 14.836, y: 7.749))
        p.addCurve(to: CGPoint(x: 12.95, y: 10.95), control1: CGPoint(x: 14.153, y: 9.475), control2: CGPoint(x: 13.633, y: 10.266))
        p.addCurve(to: CGPoint(x: 10.577, y: 12.509), control1: CGPoint(x: 12.266, y: 11.633), control2: CGPoint(x: 11.475, y: 12.153))
        p.addCurve(to: CGPoint(x: 8, y: 13), control1: CGPoint(x: 9.749, y: 12.836), control2: CGPoint(x: 8.89, y: 13))
        p.addCurve(to: CGPoint(x: 5.423, y: 12.509), control1: CGPoint(x: 7.11, y: 13), control2: CGPoint(x: 6.251, y: 12.836))
        p.addCurve(to: CGPoint(x: 3.05, y: 10.95), control1: CGPoint(x: 4.525, y: 12.153), control2: CGPoint(x: 3.734, y: 11.633))
        p.addCurve(to: CGPoint(x: 1.491, y: 8.577), control1: CGPoint(x: 2.367, y: 10.266), control2: CGPoint(x: 1.847, y: 9.475))
        p.addCurve(to: CGPoint(x: 1, y: 6), control1: CGPoint(x: 1.164, y: 7.749), control2: CGPoint(x: 1, y: 6.89))
        p.addCurve(to: CGPoint(x: 1.608, y: 4.721), control1: CGPoint(x: 1, y: 5.541), control2: CGPoint(x: 1.203, y: 5.115))
        p.addCurve(to: CGPoint(x: 3.224, y: 3.766), control1: CGPoint(x: 1.987, y: 4.353), control2: CGPoint(x: 2.526, y: 4.034))
        p.closeSubpath()
        p.move(to: CGPoint(x: 14, y: 6))
        p.addCurve(to: CGPoint(x: 13.695, y: 5.438), control1: CGPoint(x: 14, y: 5.823), control2: CGPoint(x: 13.898, y: 5.636))
        p.addCurve(to: CGPoint(x: 12.417, y: 4.699), control1: CGPoint(x: 13.414, y: 5.165), control2: CGPoint(x: 12.988, y: 4.918))
        p.addCurve(to: CGPoint(x: 10.317, y: 4.17), control1: CGPoint(x: 11.816, y: 4.468), control2: CGPoint(x: 11.116, y: 4.291))
        p.addCurve(to: CGPoint(x: 8, y: 4), control1: CGPoint(x: 9.574, y: 4.057), control2: CGPoint(x: 8.801, y: 4))
        p.addCurve(to: CGPoint(x: 5.683, y: 4.17), control1: CGPoint(x: 7.199, y: 4), control2: CGPoint(x: 6.426, y: 4.057))
        p.addCurve(to: CGPoint(x: 3.583, y: 4.699), control1: CGPoint(x: 4.884, y: 4.291), control2: CGPoint(x: 4.184, y: 4.468))
        p.addCurve(to: CGPoint(x: 2.305, y: 5.438), control1: CGPoint(x: 3.012, y: 4.918), control2: CGPoint(x: 2.586, y: 5.165))
        p.addCurve(to: CGPoint(x: 2, y: 6), control1: CGPoint(x: 2.102, y: 5.636), control2: CGPoint(x: 2, y: 5.823))
        p.addCurve(to: CGPoint(x: 2.305, y: 6.562), control1: CGPoint(x: 2, y: 6.177), control2: CGPoint(x: 2.102, y: 6.364))
        p.addCurve(to: CGPoint(x: 3.583, y: 7.301), control1: CGPoint(x: 2.586, y: 6.835), control2: CGPoint(x: 3.012, y: 7.082))
        p.addCurve(to: CGPoint(x: 5.683, y: 7.83), control1: CGPoint(x: 4.184, y: 7.532), control2: CGPoint(x: 4.884, y: 7.709))
        p.addCurve(to: CGPoint(x: 8, y: 8), control1: CGPoint(x: 6.426, y: 7.943), control2: CGPoint(x: 7.199, y: 8))
        p.addCurve(to: CGPoint(x: 10.317, y: 7.83), control1: CGPoint(x: 8.801, y: 8), control2: CGPoint(x: 9.574, y: 7.943))
        p.addCurve(to: CGPoint(x: 12.417, y: 7.301), control1: CGPoint(x: 11.116, y: 7.709), control2: CGPoint(x: 11.816, y: 7.532))
        p.addCurve(to: CGPoint(x: 13.695, y: 6.562), control1: CGPoint(x: 12.988, y: 7.082), control2: CGPoint(x: 13.414, y: 6.835))
        p.addCurve(to: CGPoint(x: 14, y: 6), control1: CGPoint(x: 13.898, y: 6.364), control2: CGPoint(x: 14, y: 6.177))
        p.closeSubpath()
        p.move(to: CGPoint(x: 3.757, y: 10.243))
        p.addCurve(to: CGPoint(x: 5.791, y: 11.579), control1: CGPoint(x: 4.343, y: 10.828), control2: CGPoint(x: 5.021, y: 11.274))
        p.addCurve(to: CGPoint(x: 8, y: 12), control1: CGPoint(x: 6.501, y: 11.86), control2: CGPoint(x: 7.237, y: 12))
        p.addCurve(to: CGPoint(x: 10.209, y: 11.579), control1: CGPoint(x: 8.763, y: 12), control2: CGPoint(x: 9.499, y: 11.86))
        p.addCurve(to: CGPoint(x: 12.243, y: 10.243), control1: CGPoint(x: 10.979, y: 11.274), control2: CGPoint(x: 11.657, y: 10.828))
        p.addCurve(to: CGPoint(x: 13.579, y: 8.209), control1: CGPoint(x: 12.828, y: 9.657), control2: CGPoint(x: 13.274, y: 8.979))
        p.addCurve(to: CGPoint(x: 13.731, y: 7.778), control1: CGPoint(x: 13.635, y: 8.066), control2: CGPoint(x: 13.686, y: 7.922))
        p.addCurve(to: CGPoint(x: 12.776, y: 8.234), control1: CGPoint(x: 13.455, y: 7.943), control2: CGPoint(x: 13.137, y: 8.096))
        p.addCurve(to: CGPoint(x: 10.468, y: 8.819), control1: CGPoint(x: 12.107, y: 8.491), control2: CGPoint(x: 11.338, y: 8.686))
        p.addCurve(to: CGPoint(x: 8, y: 9), control1: CGPoint(x: 9.674, y: 8.94), control2: CGPoint(x: 8.852, y: 9))
        p.addCurve(to: CGPoint(x: 5.532, y: 8.819), control1: CGPoint(x: 7.148, y: 9), control2: CGPoint(x: 6.326, y: 8.94))
        p.addCurve(to: CGPoint(x: 3.224, y: 8.234), control1: CGPoint(x: 4.662, y: 8.686), control2: CGPoint(x: 3.893, y: 8.491))
        p.addCurve(to: CGPoint(x: 2.269, y: 7.778), control1: CGPoint(x: 2.863, y: 8.096), control2: CGPoint(x: 2.545, y: 7.943))
        p.addCurve(to: CGPoint(x: 2.421, y: 8.209), control1: CGPoint(x: 2.314, y: 7.922), control2: CGPoint(x: 2.365, y: 8.066))
        p.addCurve(to: CGPoint(x: 3.757, y: 10.243), control1: CGPoint(x: 2.726, y: 8.979), control2: CGPoint(x: 3.172, y: 9.657))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

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

### Compose

```kotlin
// Gentleface "hemisphere" (line-round), MIT. https://gentleface.com/icons/hemisphere
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 HemisphereIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "hemisphere", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M3.224 3.766C3.893 3.509 4.662 3.314 5.532 3.181C6.326 3.06 7.148 3 8 3C8.852 3 9.674 3.06 10.468 3.181C11.338 3.314 12.107 3.509 12.776 3.766C13.474 4.034 14.013 4.353 14.392 4.721C14.797 5.115 15 5.541 15 6C15 6.89 14.836 7.749 14.509 8.577C14.153 9.475 13.633 10.266 12.95 10.95C12.266 11.633 11.475 12.153 10.577 12.509C9.749 12.836 8.89 13 8 13C7.11 13 6.251 12.836 5.423 12.509C4.525 12.153 3.734 11.633 3.05 10.95C2.367 10.266 1.847 9.475 1.491 8.577C1.164 7.749 1 6.89 1 6C1 5.541 1.203 5.115 1.608 4.721C1.987 4.353 2.526 4.034 3.224 3.766ZM14 6C14 5.823 13.898 5.636 13.695 5.438C13.414 5.165 12.988 4.918 12.417 4.699C11.816 4.468 11.116 4.291 10.317 4.17C9.574 4.057 8.801 4 8 4C7.199 4 6.426 4.057 5.683 4.17C4.884 4.291 4.184 4.468 3.583 4.699C3.012 4.918 2.586 5.165 2.305 5.438C2.102 5.636 2 5.823 2 6C2 6.177 2.102 6.364 2.305 6.562C2.586 6.835 3.012 7.082 3.583 7.301C4.184 7.532 4.884 7.709 5.683 7.83C6.426 7.943 7.199 8 8 8C8.801 8 9.574 7.943 10.317 7.83C11.116 7.709 11.816 7.532 12.417 7.301C12.988 7.082 13.414 6.835 13.695 6.562C13.898 6.364 14 6.177 14 6ZM3.757 10.243C4.343 10.828 5.021 11.274 5.791 11.579C6.501 11.86 7.237 12 8 12C8.763 12 9.499 11.86 10.209 11.579C10.979 11.274 11.657 10.828 12.243 10.243C12.828 9.657 13.274 8.979 13.579 8.209C13.635 8.066 13.686 7.922 13.731 7.778C13.455 7.943 13.137 8.096 12.776 8.234C12.107 8.491 11.338 8.686 10.468 8.819C9.674 8.94 8.852 9 8 9C7.148 9 6.326 8.94 5.532 8.819C4.662 8.686 3.893 8.491 3.224 8.234C2.863 8.096 2.545 7.943 2.269 7.778C2.314 7.922 2.365 8.066 2.421 8.209C2.726 8.979 3.172 9.657 3.757 10.243Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

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

### Android XML

```xml
<!-- res/drawable/ic_hemisphere.xml · Gentleface "hemisphere" (line-round), MIT. https://gentleface.com/icons/hemisphere -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="16dp"
    android:height="16dp"
    android:viewportWidth="16"
    android:viewportHeight="16"
    android:tint="?attr/colorControlNormal">
  <path
      android:fillColor="@android:color/white"
      android:pathData="M3.224 3.766C3.893 3.509 4.662 3.314 5.532 3.181C6.326 3.06 7.148 3 8 3C8.852 3 9.674 3.06 10.468 3.181C11.338 3.314 12.107 3.509 12.776 3.766C13.474 4.034 14.013 4.353 14.392 4.721C14.797 5.115 15 5.541 15 6C15 6.89 14.836 7.749 14.509 8.577C14.153 9.475 13.633 10.266 12.95 10.95C12.266 11.633 11.475 12.153 10.577 12.509C9.749 12.836 8.89 13 8 13C7.11 13 6.251 12.836 5.423 12.509C4.525 12.153 3.734 11.633 3.05 10.95C2.367 10.266 1.847 9.475 1.491 8.577C1.164 7.749 1 6.89 1 6C1 5.541 1.203 5.115 1.608 4.721C1.987 4.353 2.526 4.034 3.224 3.766ZM14 6C14 5.823 13.898 5.636 13.695 5.438C13.414 5.165 12.988 4.918 12.417 4.699C11.816 4.468 11.116 4.291 10.317 4.17C9.574 4.057 8.801 4 8 4C7.199 4 6.426 4.057 5.683 4.17C4.884 4.291 4.184 4.468 3.583 4.699C3.012 4.918 2.586 5.165 2.305 5.438C2.102 5.636 2 5.823 2 6C2 6.177 2.102 6.364 2.305 6.562C2.586 6.835 3.012 7.082 3.583 7.301C4.184 7.532 4.884 7.709 5.683 7.83C6.426 7.943 7.199 8 8 8C8.801 8 9.574 7.943 10.317 7.83C11.116 7.709 11.816 7.532 12.417 7.301C12.988 7.082 13.414 6.835 13.695 6.562C13.898 6.364 14 6.177 14 6ZM3.757 10.243C4.343 10.828 5.021 11.274 5.791 11.579C6.501 11.86 7.237 12 8 12C8.763 12 9.499 11.86 10.209 11.579C10.979 11.274 11.657 10.828 12.243 10.243C12.828 9.657 13.274 8.979 13.579 8.209C13.635 8.066 13.686 7.922 13.731 7.778C13.455 7.943 13.137 8.096 12.776 8.234C12.107 8.491 11.338 8.686 10.468 8.819C9.674 8.94 8.852 9 8 9C7.148 9 6.326 8.94 5.532 8.819C4.662 8.686 3.893 8.491 3.224 8.234C2.863 8.096 2.545 7.943 2.269 7.778C2.314 7.922 2.365 8.066 2.421 8.209C2.726 8.979 3.172 9.657 3.757 10.243Z"/>
</vector>
```

### Flutter

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

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

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

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

  @override
  void paint(Canvas canvas, Size size) {
    canvas.scale(size.width / 16, size.height / 16);
    final p = Path()
      ..moveTo(3.224, 3.766)
      ..cubicTo(3.893, 3.509, 4.662, 3.314, 5.532, 3.181)
      ..cubicTo(6.326, 3.06, 7.148, 3, 8, 3)
      ..cubicTo(8.852, 3, 9.674, 3.06, 10.468, 3.181)
      ..cubicTo(11.338, 3.314, 12.107, 3.509, 12.776, 3.766)
      ..cubicTo(13.474, 4.034, 14.013, 4.353, 14.392, 4.721)
      ..cubicTo(14.797, 5.115, 15, 5.541, 15, 6)
      ..cubicTo(15, 6.89, 14.836, 7.749, 14.509, 8.577)
      ..cubicTo(14.153, 9.475, 13.633, 10.266, 12.95, 10.95)
      ..cubicTo(12.266, 11.633, 11.475, 12.153, 10.577, 12.509)
      ..cubicTo(9.749, 12.836, 8.89, 13, 8, 13)
      ..cubicTo(7.11, 13, 6.251, 12.836, 5.423, 12.509)
      ..cubicTo(4.525, 12.153, 3.734, 11.633, 3.05, 10.95)
      ..cubicTo(2.367, 10.266, 1.847, 9.475, 1.491, 8.577)
      ..cubicTo(1.164, 7.749, 1, 6.89, 1, 6)
      ..cubicTo(1, 5.541, 1.203, 5.115, 1.608, 4.721)
      ..cubicTo(1.987, 4.353, 2.526, 4.034, 3.224, 3.766)
      ..close()
      ..moveTo(14, 6)
      ..cubicTo(14, 5.823, 13.898, 5.636, 13.695, 5.438)
      ..cubicTo(13.414, 5.165, 12.988, 4.918, 12.417, 4.699)
      ..cubicTo(11.816, 4.468, 11.116, 4.291, 10.317, 4.17)
      ..cubicTo(9.574, 4.057, 8.801, 4, 8, 4)
      ..cubicTo(7.199, 4, 6.426, 4.057, 5.683, 4.17)
      ..cubicTo(4.884, 4.291, 4.184, 4.468, 3.583, 4.699)
      ..cubicTo(3.012, 4.918, 2.586, 5.165, 2.305, 5.438)
      ..cubicTo(2.102, 5.636, 2, 5.823, 2, 6)
      ..cubicTo(2, 6.177, 2.102, 6.364, 2.305, 6.562)
      ..cubicTo(2.586, 6.835, 3.012, 7.082, 3.583, 7.301)
      ..cubicTo(4.184, 7.532, 4.884, 7.709, 5.683, 7.83)
      ..cubicTo(6.426, 7.943, 7.199, 8, 8, 8)
      ..cubicTo(8.801, 8, 9.574, 7.943, 10.317, 7.83)
      ..cubicTo(11.116, 7.709, 11.816, 7.532, 12.417, 7.301)
      ..cubicTo(12.988, 7.082, 13.414, 6.835, 13.695, 6.562)
      ..cubicTo(13.898, 6.364, 14, 6.177, 14, 6)
      ..close()
      ..moveTo(3.757, 10.243)
      ..cubicTo(4.343, 10.828, 5.021, 11.274, 5.791, 11.579)
      ..cubicTo(6.501, 11.86, 7.237, 12, 8, 12)
      ..cubicTo(8.763, 12, 9.499, 11.86, 10.209, 11.579)
      ..cubicTo(10.979, 11.274, 11.657, 10.828, 12.243, 10.243)
      ..cubicTo(12.828, 9.657, 13.274, 8.979, 13.579, 8.209)
      ..cubicTo(13.635, 8.066, 13.686, 7.922, 13.731, 7.778)
      ..cubicTo(13.455, 7.943, 13.137, 8.096, 12.776, 8.234)
      ..cubicTo(12.107, 8.491, 11.338, 8.686, 10.468, 8.819)
      ..cubicTo(9.674, 8.94, 8.852, 9, 8, 9)
      ..cubicTo(7.148, 9, 6.326, 8.94, 5.532, 8.819)
      ..cubicTo(4.662, 8.686, 3.893, 8.491, 3.224, 8.234)
      ..cubicTo(2.863, 8.096, 2.545, 7.943, 2.269, 7.778)
      ..cubicTo(2.314, 7.922, 2.365, 8.066, 2.421, 8.209)
      ..cubicTo(2.726, 8.979, 3.172, 9.657, 3.757, 10.243)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

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