# rotate-3d icon

Rotate 3d. Gentleface icon, drawn on the 16 px pixel grid. Free, MIT licensed. Page: https://gentleface.com/icons/rotate-3d

- Category: Design
- Use it for: rotate 3d, orbit view, 3d rotation, view 360
- Tags: rotate, 3d, orbit, turn, view, axis, spin
- Component name: Rotate3dIcon
- Added: 2026-10-16

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

The SVG of every style: https://gentleface.com/icons/rotate-3d.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="M8.209 1.421C8.979 1.726 9.657 2.172 10.243 2.757C10.828 3.343 11.274 4.021 11.579 4.791C11.776 5.291 11.905 5.804 11.963 6.33L14.146 4.146C14.246 4.047 14.364 3.997 14.5 3.997C14.636 3.997 14.754 4.047 14.854 4.146C14.951 4.244 15 4.362 15 4.5C15 4.638 14.951 4.756 14.854 4.854L11.854 7.854C11.754 7.953 11.636 8.003 11.5 8.003C11.364 8.003 11.246 7.953 11.146 7.854L8.146 4.854C8.049 4.756 8 4.638 8 4.5C8 4.362 8.049 4.244 8.146 4.146C8.246 4.047 8.364 3.997 8.5 3.997C8.636 3.997 8.754 4.047 8.854 4.146L10.942 6.235C10.885 5.868 10.788 5.51 10.649 5.16C10.395 4.518 10.024 3.953 9.536 3.464C9.047 2.976 8.482 2.605 7.84 2.351C7.249 2.117 6.636 2 6 2L4.5 2C4.359 2 4.241 1.952 4.144 1.856C4.048 1.759 4 1.641 4 1.5C4 1.359 4.048 1.241 4.144 1.144C4.241 1.048 4.359 1 4.5 1L6 1C6.763 1 7.499 1.14 8.209 1.421ZM9.447 13.085L6.618 14.5C6.266 14.676 5.893 14.764 5.5 14.764C5.107 14.764 4.734 14.676 4.382 14.5L1.553 13.085C1.383 13.001 1.249 12.878 1.149 12.717C1.05 12.556 1 12.38 1 12.191L1 8.809C1 8.62 1.05 8.444 1.149 8.283C1.249 8.122 1.383 7.999 1.553 7.915L4.382 6.5C4.734 6.324 5.107 6.236 5.5 6.236C5.893 6.236 6.266 6.324 6.618 6.5L9.447 7.915C9.617 7.999 9.751 8.122 9.851 8.283C9.95 8.444 10 8.62 10 8.809L10 12.191C10 12.38 9.95 12.556 9.851 12.717C9.751 12.878 9.617 13.001 9.447 13.085ZM2.618 8.5L4.829 9.606C5.04 9.711 5.264 9.764 5.5 9.764C5.736 9.764 5.96 9.711 6.171 9.606L8.382 8.5L6.171 7.394C5.96 7.289 5.736 7.236 5.5 7.236C5.264 7.236 5.04 7.289 4.829 7.394L2.618 8.5ZM2 12.191L4.829 13.606C4.885 13.634 4.942 13.658 5 13.679L5 10.714C4.787 10.671 4.581 10.6 4.382 10.5L2 9.309L2 12.191ZM6.171 13.606L9 12.191L9 9.309L6.618 10.5C6.419 10.6 6.213 10.671 6 10.714L6 13.679C6.058 13.658 6.115 13.634 6.171 13.606Z"/></svg>
```

### React

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

export function Rotate3dIcon(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="M8.209 1.421C8.979 1.726 9.657 2.172 10.243 2.757C10.828 3.343 11.274 4.021 11.579 4.791C11.776 5.291 11.905 5.804 11.963 6.33L14.146 4.146C14.246 4.047 14.364 3.997 14.5 3.997C14.636 3.997 14.754 4.047 14.854 4.146C14.951 4.244 15 4.362 15 4.5C15 4.638 14.951 4.756 14.854 4.854L11.854 7.854C11.754 7.953 11.636 8.003 11.5 8.003C11.364 8.003 11.246 7.953 11.146 7.854L8.146 4.854C8.049 4.756 8 4.638 8 4.5C8 4.362 8.049 4.244 8.146 4.146C8.246 4.047 8.364 3.997 8.5 3.997C8.636 3.997 8.754 4.047 8.854 4.146L10.942 6.235C10.885 5.868 10.788 5.51 10.649 5.16C10.395 4.518 10.024 3.953 9.536 3.464C9.047 2.976 8.482 2.605 7.84 2.351C7.249 2.117 6.636 2 6 2L4.5 2C4.359 2 4.241 1.952 4.144 1.856C4.048 1.759 4 1.641 4 1.5C4 1.359 4.048 1.241 4.144 1.144C4.241 1.048 4.359 1 4.5 1L6 1C6.763 1 7.499 1.14 8.209 1.421ZM9.447 13.085L6.618 14.5C6.266 14.676 5.893 14.764 5.5 14.764C5.107 14.764 4.734 14.676 4.382 14.5L1.553 13.085C1.383 13.001 1.249 12.878 1.149 12.717C1.05 12.556 1 12.38 1 12.191L1 8.809C1 8.62 1.05 8.444 1.149 8.283C1.249 8.122 1.383 7.999 1.553 7.915L4.382 6.5C4.734 6.324 5.107 6.236 5.5 6.236C5.893 6.236 6.266 6.324 6.618 6.5L9.447 7.915C9.617 7.999 9.751 8.122 9.851 8.283C9.95 8.444 10 8.62 10 8.809L10 12.191C10 12.38 9.95 12.556 9.851 12.717C9.751 12.878 9.617 13.001 9.447 13.085ZM2.618 8.5L4.829 9.606C5.04 9.711 5.264 9.764 5.5 9.764C5.736 9.764 5.96 9.711 6.171 9.606L8.382 8.5L6.171 7.394C5.96 7.289 5.736 7.236 5.5 7.236C5.264 7.236 5.04 7.289 4.829 7.394L2.618 8.5ZM2 12.191L4.829 13.606C4.885 13.634 4.942 13.658 5 13.679L5 10.714C4.787 10.671 4.581 10.6 4.382 10.5L2 9.309L2 12.191ZM6.171 13.606L9 12.191L9 9.309L6.618 10.5C6.419 10.6 6.213 10.671 6 10.714L6 13.679C6.058 13.658 6.115 13.634 6.171 13.606Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "rotate-3d" (line-round), MIT. https://gentleface.com/icons/rotate-3d -->
<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="M8.209 1.421C8.979 1.726 9.657 2.172 10.243 2.757C10.828 3.343 11.274 4.021 11.579 4.791C11.776 5.291 11.905 5.804 11.963 6.33L14.146 4.146C14.246 4.047 14.364 3.997 14.5 3.997C14.636 3.997 14.754 4.047 14.854 4.146C14.951 4.244 15 4.362 15 4.5C15 4.638 14.951 4.756 14.854 4.854L11.854 7.854C11.754 7.953 11.636 8.003 11.5 8.003C11.364 8.003 11.246 7.953 11.146 7.854L8.146 4.854C8.049 4.756 8 4.638 8 4.5C8 4.362 8.049 4.244 8.146 4.146C8.246 4.047 8.364 3.997 8.5 3.997C8.636 3.997 8.754 4.047 8.854 4.146L10.942 6.235C10.885 5.868 10.788 5.51 10.649 5.16C10.395 4.518 10.024 3.953 9.536 3.464C9.047 2.976 8.482 2.605 7.84 2.351C7.249 2.117 6.636 2 6 2L4.5 2C4.359 2 4.241 1.952 4.144 1.856C4.048 1.759 4 1.641 4 1.5C4 1.359 4.048 1.241 4.144 1.144C4.241 1.048 4.359 1 4.5 1L6 1C6.763 1 7.499 1.14 8.209 1.421ZM9.447 13.085L6.618 14.5C6.266 14.676 5.893 14.764 5.5 14.764C5.107 14.764 4.734 14.676 4.382 14.5L1.553 13.085C1.383 13.001 1.249 12.878 1.149 12.717C1.05 12.556 1 12.38 1 12.191L1 8.809C1 8.62 1.05 8.444 1.149 8.283C1.249 8.122 1.383 7.999 1.553 7.915L4.382 6.5C4.734 6.324 5.107 6.236 5.5 6.236C5.893 6.236 6.266 6.324 6.618 6.5L9.447 7.915C9.617 7.999 9.751 8.122 9.851 8.283C9.95 8.444 10 8.62 10 8.809L10 12.191C10 12.38 9.95 12.556 9.851 12.717C9.751 12.878 9.617 13.001 9.447 13.085ZM2.618 8.5L4.829 9.606C5.04 9.711 5.264 9.764 5.5 9.764C5.736 9.764 5.96 9.711 6.171 9.606L8.382 8.5L6.171 7.394C5.96 7.289 5.736 7.236 5.5 7.236C5.264 7.236 5.04 7.289 4.829 7.394L2.618 8.5ZM2 12.191L4.829 13.606C4.885 13.634 4.942 13.658 5 13.679L5 10.714C4.787 10.671 4.581 10.6 4.382 10.5L2 9.309L2 12.191ZM6.171 13.606L9 12.191L9 9.309L6.618 10.5C6.419 10.6 6.213 10.671 6 10.714L6 13.679C6.058 13.658 6.115 13.634 6.171 13.606Z" />
  </svg>
</template>
```

### Svelte

```svelte
<!-- Gentleface "rotate-3d" (line-round), MIT. https://gentleface.com/icons/rotate-3d -->
<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="M8.209 1.421C8.979 1.726 9.657 2.172 10.243 2.757C10.828 3.343 11.274 4.021 11.579 4.791C11.776 5.291 11.905 5.804 11.963 6.33L14.146 4.146C14.246 4.047 14.364 3.997 14.5 3.997C14.636 3.997 14.754 4.047 14.854 4.146C14.951 4.244 15 4.362 15 4.5C15 4.638 14.951 4.756 14.854 4.854L11.854 7.854C11.754 7.953 11.636 8.003 11.5 8.003C11.364 8.003 11.246 7.953 11.146 7.854L8.146 4.854C8.049 4.756 8 4.638 8 4.5C8 4.362 8.049 4.244 8.146 4.146C8.246 4.047 8.364 3.997 8.5 3.997C8.636 3.997 8.754 4.047 8.854 4.146L10.942 6.235C10.885 5.868 10.788 5.51 10.649 5.16C10.395 4.518 10.024 3.953 9.536 3.464C9.047 2.976 8.482 2.605 7.84 2.351C7.249 2.117 6.636 2 6 2L4.5 2C4.359 2 4.241 1.952 4.144 1.856C4.048 1.759 4 1.641 4 1.5C4 1.359 4.048 1.241 4.144 1.144C4.241 1.048 4.359 1 4.5 1L6 1C6.763 1 7.499 1.14 8.209 1.421ZM9.447 13.085L6.618 14.5C6.266 14.676 5.893 14.764 5.5 14.764C5.107 14.764 4.734 14.676 4.382 14.5L1.553 13.085C1.383 13.001 1.249 12.878 1.149 12.717C1.05 12.556 1 12.38 1 12.191L1 8.809C1 8.62 1.05 8.444 1.149 8.283C1.249 8.122 1.383 7.999 1.553 7.915L4.382 6.5C4.734 6.324 5.107 6.236 5.5 6.236C5.893 6.236 6.266 6.324 6.618 6.5L9.447 7.915C9.617 7.999 9.751 8.122 9.851 8.283C9.95 8.444 10 8.62 10 8.809L10 12.191C10 12.38 9.95 12.556 9.851 12.717C9.751 12.878 9.617 13.001 9.447 13.085ZM2.618 8.5L4.829 9.606C5.04 9.711 5.264 9.764 5.5 9.764C5.736 9.764 5.96 9.711 6.171 9.606L8.382 8.5L6.171 7.394C5.96 7.289 5.736 7.236 5.5 7.236C5.264 7.236 5.04 7.289 4.829 7.394L2.618 8.5ZM2 12.191L4.829 13.606C4.885 13.634 4.942 13.658 5 13.679L5 10.714C4.787 10.671 4.581 10.6 4.382 10.5L2 9.309L2 12.191ZM6.171 13.606L9 12.191L9 9.309L6.618 10.5C6.419 10.6 6.213 10.671 6 10.714L6 13.679C6.058 13.658 6.115 13.634 6.171 13.606Z" />
</svg>
```

### HTML img

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

### CSS

```css
/* Gentleface "rotate-3d" (line-round), MIT. https://gentleface.com/icons/rotate-3d. Takes the text color. */
.icon-rotate-3d {
  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='M8.209 1.421C8.979 1.726 9.657 2.172 10.243 2.757C10.828 3.343 11.274 4.021 11.579 4.791C11.776 5.291 11.905 5.804 11.963 6.33L14.146 4.146C14.246 4.047 14.364 3.997 14.5 3.997C14.636 3.997 14.754 4.047 14.854 4.146C14.951 4.244 15 4.362 15 4.5C15 4.638 14.951 4.756 14.854 4.854L11.854 7.854C11.754 7.953 11.636 8.003 11.5 8.003C11.364 8.003 11.246 7.953 11.146 7.854L8.146 4.854C8.049 4.756 8 4.638 8 4.5C8 4.362 8.049 4.244 8.146 4.146C8.246 4.047 8.364 3.997 8.5 3.997C8.636 3.997 8.754 4.047 8.854 4.146L10.942 6.235C10.885 5.868 10.788 5.51 10.649 5.16C10.395 4.518 10.024 3.953 9.536 3.464C9.047 2.976 8.482 2.605 7.84 2.351C7.249 2.117 6.636 2 6 2L4.5 2C4.359 2 4.241 1.952 4.144 1.856C4.048 1.759 4 1.641 4 1.5C4 1.359 4.048 1.241 4.144 1.144C4.241 1.048 4.359 1 4.5 1L6 1C6.763 1 7.499 1.14 8.209 1.421ZM9.447 13.085L6.618 14.5C6.266 14.676 5.893 14.764 5.5 14.764C5.107 14.764 4.734 14.676 4.382 14.5L1.553 13.085C1.383 13.001 1.249 12.878 1.149 12.717C1.05 12.556 1 12.38 1 12.191L1 8.809C1 8.62 1.05 8.444 1.149 8.283C1.249 8.122 1.383 7.999 1.553 7.915L4.382 6.5C4.734 6.324 5.107 6.236 5.5 6.236C5.893 6.236 6.266 6.324 6.618 6.5L9.447 7.915C9.617 7.999 9.751 8.122 9.851 8.283C9.95 8.444 10 8.62 10 8.809L10 12.191C10 12.38 9.95 12.556 9.851 12.717C9.751 12.878 9.617 13.001 9.447 13.085ZM2.618 8.5L4.829 9.606C5.04 9.711 5.264 9.764 5.5 9.764C5.736 9.764 5.96 9.711 6.171 9.606L8.382 8.5L6.171 7.394C5.96 7.289 5.736 7.236 5.5 7.236C5.264 7.236 5.04 7.289 4.829 7.394L2.618 8.5ZM2 12.191L4.829 13.606C4.885 13.634 4.942 13.658 5 13.679L5 10.714C4.787 10.671 4.581 10.6 4.382 10.5L2 9.309L2 12.191ZM6.171 13.606L9 12.191L9 9.309L6.618 10.5C6.419 10.6 6.213 10.671 6 10.714L6 13.679C6.058 13.658 6.115 13.634 6.171 13.606Z'/%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='M8.209 1.421C8.979 1.726 9.657 2.172 10.243 2.757C10.828 3.343 11.274 4.021 11.579 4.791C11.776 5.291 11.905 5.804 11.963 6.33L14.146 4.146C14.246 4.047 14.364 3.997 14.5 3.997C14.636 3.997 14.754 4.047 14.854 4.146C14.951 4.244 15 4.362 15 4.5C15 4.638 14.951 4.756 14.854 4.854L11.854 7.854C11.754 7.953 11.636 8.003 11.5 8.003C11.364 8.003 11.246 7.953 11.146 7.854L8.146 4.854C8.049 4.756 8 4.638 8 4.5C8 4.362 8.049 4.244 8.146 4.146C8.246 4.047 8.364 3.997 8.5 3.997C8.636 3.997 8.754 4.047 8.854 4.146L10.942 6.235C10.885 5.868 10.788 5.51 10.649 5.16C10.395 4.518 10.024 3.953 9.536 3.464C9.047 2.976 8.482 2.605 7.84 2.351C7.249 2.117 6.636 2 6 2L4.5 2C4.359 2 4.241 1.952 4.144 1.856C4.048 1.759 4 1.641 4 1.5C4 1.359 4.048 1.241 4.144 1.144C4.241 1.048 4.359 1 4.5 1L6 1C6.763 1 7.499 1.14 8.209 1.421ZM9.447 13.085L6.618 14.5C6.266 14.676 5.893 14.764 5.5 14.764C5.107 14.764 4.734 14.676 4.382 14.5L1.553 13.085C1.383 13.001 1.249 12.878 1.149 12.717C1.05 12.556 1 12.38 1 12.191L1 8.809C1 8.62 1.05 8.444 1.149 8.283C1.249 8.122 1.383 7.999 1.553 7.915L4.382 6.5C4.734 6.324 5.107 6.236 5.5 6.236C5.893 6.236 6.266 6.324 6.618 6.5L9.447 7.915C9.617 7.999 9.751 8.122 9.851 8.283C9.95 8.444 10 8.62 10 8.809L10 12.191C10 12.38 9.95 12.556 9.851 12.717C9.751 12.878 9.617 13.001 9.447 13.085ZM2.618 8.5L4.829 9.606C5.04 9.711 5.264 9.764 5.5 9.764C5.736 9.764 5.96 9.711 6.171 9.606L8.382 8.5L6.171 7.394C5.96 7.289 5.736 7.236 5.5 7.236C5.264 7.236 5.04 7.289 4.829 7.394L2.618 8.5ZM2 12.191L4.829 13.606C4.885 13.634 4.942 13.658 5 13.679L5 10.714C4.787 10.671 4.581 10.6 4.382 10.5L2 9.309L2 12.191ZM6.171 13.606L9 12.191L9 9.309L6.618 10.5C6.419 10.6 6.213 10.671 6 10.714L6 13.679C6.058 13.658 6.115 13.634 6.171 13.606Z'/%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='M8.209 1.421C8.979 1.726 9.657 2.172 10.243 2.757C10.828 3.343 11.274 4.021 11.579 4.791C11.776 5.291 11.905 5.804 11.963 6.33L14.146 4.146C14.246 4.047 14.364 3.997 14.5 3.997C14.636 3.997 14.754 4.047 14.854 4.146C14.951 4.244 15 4.362 15 4.5C15 4.638 14.951 4.756 14.854 4.854L11.854 7.854C11.754 7.953 11.636 8.003 11.5 8.003C11.364 8.003 11.246 7.953 11.146 7.854L8.146 4.854C8.049 4.756 8 4.638 8 4.5C8 4.362 8.049 4.244 8.146 4.146C8.246 4.047 8.364 3.997 8.5 3.997C8.636 3.997 8.754 4.047 8.854 4.146L10.942 6.235C10.885 5.868 10.788 5.51 10.649 5.16C10.395 4.518 10.024 3.953 9.536 3.464C9.047 2.976 8.482 2.605 7.84 2.351C7.249 2.117 6.636 2 6 2L4.5 2C4.359 2 4.241 1.952 4.144 1.856C4.048 1.759 4 1.641 4 1.5C4 1.359 4.048 1.241 4.144 1.144C4.241 1.048 4.359 1 4.5 1L6 1C6.763 1 7.499 1.14 8.209 1.421ZM9.447 13.085L6.618 14.5C6.266 14.676 5.893 14.764 5.5 14.764C5.107 14.764 4.734 14.676 4.382 14.5L1.553 13.085C1.383 13.001 1.249 12.878 1.149 12.717C1.05 12.556 1 12.38 1 12.191L1 8.809C1 8.62 1.05 8.444 1.149 8.283C1.249 8.122 1.383 7.999 1.553 7.915L4.382 6.5C4.734 6.324 5.107 6.236 5.5 6.236C5.893 6.236 6.266 6.324 6.618 6.5L9.447 7.915C9.617 7.999 9.751 8.122 9.851 8.283C9.95 8.444 10 8.62 10 8.809L10 12.191C10 12.38 9.95 12.556 9.851 12.717C9.751 12.878 9.617 13.001 9.447 13.085ZM2.618 8.5L4.829 9.606C5.04 9.711 5.264 9.764 5.5 9.764C5.736 9.764 5.96 9.711 6.171 9.606L8.382 8.5L6.171 7.394C5.96 7.289 5.736 7.236 5.5 7.236C5.264 7.236 5.04 7.289 4.829 7.394L2.618 8.5ZM2 12.191L4.829 13.606C4.885 13.634 4.942 13.658 5 13.679L5 10.714C4.787 10.671 4.581 10.6 4.382 10.5L2 9.309L2 12.191ZM6.171 13.606L9 12.191L9 9.309L6.618 10.5C6.419 10.6 6.213 10.671 6 10.714L6 13.679C6.058 13.658 6.115 13.634 6.171 13.606Z'/%3E%3C/svg%3E
```

### Sprite

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

### SwiftUI

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

struct Rotate3dIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 8.209, y: 1.421))
        p.addCurve(to: CGPoint(x: 10.243, y: 2.757), control1: CGPoint(x: 8.979, y: 1.726), control2: CGPoint(x: 9.657, y: 2.172))
        p.addCurve(to: CGPoint(x: 11.579, y: 4.791), control1: CGPoint(x: 10.828, y: 3.343), control2: CGPoint(x: 11.274, y: 4.021))
        p.addCurve(to: CGPoint(x: 11.963, y: 6.33), control1: CGPoint(x: 11.776, y: 5.291), control2: CGPoint(x: 11.905, y: 5.804))
        p.addLine(to: CGPoint(x: 14.146, y: 4.146))
        p.addCurve(to: CGPoint(x: 14.5, y: 3.997), control1: CGPoint(x: 14.246, y: 4.047), control2: CGPoint(x: 14.364, y: 3.997))
        p.addCurve(to: CGPoint(x: 14.854, y: 4.146), control1: CGPoint(x: 14.636, y: 3.997), control2: CGPoint(x: 14.754, y: 4.047))
        p.addCurve(to: CGPoint(x: 15, y: 4.5), control1: CGPoint(x: 14.951, y: 4.244), control2: CGPoint(x: 15, y: 4.362))
        p.addCurve(to: CGPoint(x: 14.854, y: 4.854), control1: CGPoint(x: 15, y: 4.638), control2: CGPoint(x: 14.951, y: 4.756))
        p.addLine(to: CGPoint(x: 11.854, y: 7.854))
        p.addCurve(to: CGPoint(x: 11.5, y: 8.003), control1: CGPoint(x: 11.754, y: 7.953), control2: CGPoint(x: 11.636, y: 8.003))
        p.addCurve(to: CGPoint(x: 11.146, y: 7.854), control1: CGPoint(x: 11.364, y: 8.003), control2: CGPoint(x: 11.246, y: 7.953))
        p.addLine(to: CGPoint(x: 8.146, y: 4.854))
        p.addCurve(to: CGPoint(x: 8, y: 4.5), control1: CGPoint(x: 8.049, y: 4.756), control2: CGPoint(x: 8, y: 4.638))
        p.addCurve(to: CGPoint(x: 8.146, y: 4.146), control1: CGPoint(x: 8, y: 4.362), control2: CGPoint(x: 8.049, y: 4.244))
        p.addCurve(to: CGPoint(x: 8.5, y: 3.997), control1: CGPoint(x: 8.246, y: 4.047), control2: CGPoint(x: 8.364, y: 3.997))
        p.addCurve(to: CGPoint(x: 8.854, y: 4.146), control1: CGPoint(x: 8.636, y: 3.997), control2: CGPoint(x: 8.754, y: 4.047))
        p.addLine(to: CGPoint(x: 10.942, y: 6.235))
        p.addCurve(to: CGPoint(x: 10.649, y: 5.16), control1: CGPoint(x: 10.885, y: 5.868), control2: CGPoint(x: 10.788, y: 5.51))
        p.addCurve(to: CGPoint(x: 9.536, y: 3.464), control1: CGPoint(x: 10.395, y: 4.518), control2: CGPoint(x: 10.024, y: 3.953))
        p.addCurve(to: CGPoint(x: 7.84, y: 2.351), control1: CGPoint(x: 9.047, y: 2.976), control2: CGPoint(x: 8.482, y: 2.605))
        p.addCurve(to: CGPoint(x: 6, y: 2), control1: CGPoint(x: 7.249, y: 2.117), control2: CGPoint(x: 6.636, y: 2))
        p.addLine(to: CGPoint(x: 4.5, y: 2))
        p.addCurve(to: CGPoint(x: 4.144, y: 1.856), control1: CGPoint(x: 4.359, y: 2), control2: CGPoint(x: 4.241, y: 1.952))
        p.addCurve(to: CGPoint(x: 4, y: 1.5), control1: CGPoint(x: 4.048, y: 1.759), control2: CGPoint(x: 4, y: 1.641))
        p.addCurve(to: CGPoint(x: 4.144, y: 1.144), control1: CGPoint(x: 4, y: 1.359), control2: CGPoint(x: 4.048, y: 1.241))
        p.addCurve(to: CGPoint(x: 4.5, y: 1), control1: CGPoint(x: 4.241, y: 1.048), control2: CGPoint(x: 4.359, y: 1))
        p.addLine(to: CGPoint(x: 6, y: 1))
        p.addCurve(to: CGPoint(x: 8.209, y: 1.421), control1: CGPoint(x: 6.763, y: 1), control2: CGPoint(x: 7.499, y: 1.14))
        p.closeSubpath()
        p.move(to: CGPoint(x: 9.447, y: 13.085))
        p.addLine(to: CGPoint(x: 6.618, y: 14.5))
        p.addCurve(to: CGPoint(x: 5.5, y: 14.764), control1: CGPoint(x: 6.266, y: 14.676), control2: CGPoint(x: 5.893, y: 14.764))
        p.addCurve(to: CGPoint(x: 4.382, y: 14.5), control1: CGPoint(x: 5.107, y: 14.764), control2: CGPoint(x: 4.734, y: 14.676))
        p.addLine(to: CGPoint(x: 1.553, y: 13.085))
        p.addCurve(to: CGPoint(x: 1.149, y: 12.717), control1: CGPoint(x: 1.383, y: 13.001), control2: CGPoint(x: 1.249, y: 12.878))
        p.addCurve(to: CGPoint(x: 1, y: 12.191), control1: CGPoint(x: 1.05, y: 12.556), control2: CGPoint(x: 1, y: 12.38))
        p.addLine(to: CGPoint(x: 1, y: 8.809))
        p.addCurve(to: CGPoint(x: 1.149, y: 8.283), control1: CGPoint(x: 1, y: 8.62), control2: CGPoint(x: 1.05, y: 8.444))
        p.addCurve(to: CGPoint(x: 1.553, y: 7.915), control1: CGPoint(x: 1.249, y: 8.122), control2: CGPoint(x: 1.383, y: 7.999))
        p.addLine(to: CGPoint(x: 4.382, y: 6.5))
        p.addCurve(to: CGPoint(x: 5.5, y: 6.236), control1: CGPoint(x: 4.734, y: 6.324), control2: CGPoint(x: 5.107, y: 6.236))
        p.addCurve(to: CGPoint(x: 6.618, y: 6.5), control1: CGPoint(x: 5.893, y: 6.236), control2: CGPoint(x: 6.266, y: 6.324))
        p.addLine(to: CGPoint(x: 9.447, y: 7.915))
        p.addCurve(to: CGPoint(x: 9.851, y: 8.283), control1: CGPoint(x: 9.617, y: 7.999), control2: CGPoint(x: 9.751, y: 8.122))
        p.addCurve(to: CGPoint(x: 10, y: 8.809), control1: CGPoint(x: 9.95, y: 8.444), control2: CGPoint(x: 10, y: 8.62))
        p.addLine(to: CGPoint(x: 10, y: 12.191))
        p.addCurve(to: CGPoint(x: 9.851, y: 12.717), control1: CGPoint(x: 10, y: 12.38), control2: CGPoint(x: 9.95, y: 12.556))
        p.addCurve(to: CGPoint(x: 9.447, y: 13.085), control1: CGPoint(x: 9.751, y: 12.878), control2: CGPoint(x: 9.617, y: 13.001))
        p.closeSubpath()
        p.move(to: CGPoint(x: 2.618, y: 8.5))
        p.addLine(to: CGPoint(x: 4.829, y: 9.606))
        p.addCurve(to: CGPoint(x: 5.5, y: 9.764), control1: CGPoint(x: 5.04, y: 9.711), control2: CGPoint(x: 5.264, y: 9.764))
        p.addCurve(to: CGPoint(x: 6.171, y: 9.606), control1: CGPoint(x: 5.736, y: 9.764), control2: CGPoint(x: 5.96, y: 9.711))
        p.addLine(to: CGPoint(x: 8.382, y: 8.5))
        p.addLine(to: CGPoint(x: 6.171, y: 7.394))
        p.addCurve(to: CGPoint(x: 5.5, y: 7.236), control1: CGPoint(x: 5.96, y: 7.289), control2: CGPoint(x: 5.736, y: 7.236))
        p.addCurve(to: CGPoint(x: 4.829, y: 7.394), control1: CGPoint(x: 5.264, y: 7.236), control2: CGPoint(x: 5.04, y: 7.289))
        p.addLine(to: CGPoint(x: 2.618, y: 8.5))
        p.closeSubpath()
        p.move(to: CGPoint(x: 2, y: 12.191))
        p.addLine(to: CGPoint(x: 4.829, y: 13.606))
        p.addCurve(to: CGPoint(x: 5, y: 13.679), control1: CGPoint(x: 4.885, y: 13.634), control2: CGPoint(x: 4.942, y: 13.658))
        p.addLine(to: CGPoint(x: 5, y: 10.714))
        p.addCurve(to: CGPoint(x: 4.382, y: 10.5), control1: CGPoint(x: 4.787, y: 10.671), control2: CGPoint(x: 4.581, y: 10.6))
        p.addLine(to: CGPoint(x: 2, y: 9.309))
        p.addLine(to: CGPoint(x: 2, y: 12.191))
        p.closeSubpath()
        p.move(to: CGPoint(x: 6.171, y: 13.606))
        p.addLine(to: CGPoint(x: 9, y: 12.191))
        p.addLine(to: CGPoint(x: 9, y: 9.309))
        p.addLine(to: CGPoint(x: 6.618, y: 10.5))
        p.addCurve(to: CGPoint(x: 6, y: 10.714), control1: CGPoint(x: 6.419, y: 10.6), control2: CGPoint(x: 6.213, y: 10.671))
        p.addLine(to: CGPoint(x: 6, y: 13.679))
        p.addCurve(to: CGPoint(x: 6.171, y: 13.606), control1: CGPoint(x: 6.058, y: 13.658), control2: CGPoint(x: 6.115, y: 13.634))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

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

### Compose

```kotlin
// Gentleface "rotate-3d" (line-round), MIT. https://gentleface.com/icons/rotate-3d
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 Rotate3dIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "rotate-3d", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M8.209 1.421C8.979 1.726 9.657 2.172 10.243 2.757C10.828 3.343 11.274 4.021 11.579 4.791C11.776 5.291 11.905 5.804 11.963 6.33L14.146 4.146C14.246 4.047 14.364 3.997 14.5 3.997C14.636 3.997 14.754 4.047 14.854 4.146C14.951 4.244 15 4.362 15 4.5C15 4.638 14.951 4.756 14.854 4.854L11.854 7.854C11.754 7.953 11.636 8.003 11.5 8.003C11.364 8.003 11.246 7.953 11.146 7.854L8.146 4.854C8.049 4.756 8 4.638 8 4.5C8 4.362 8.049 4.244 8.146 4.146C8.246 4.047 8.364 3.997 8.5 3.997C8.636 3.997 8.754 4.047 8.854 4.146L10.942 6.235C10.885 5.868 10.788 5.51 10.649 5.16C10.395 4.518 10.024 3.953 9.536 3.464C9.047 2.976 8.482 2.605 7.84 2.351C7.249 2.117 6.636 2 6 2L4.5 2C4.359 2 4.241 1.952 4.144 1.856C4.048 1.759 4 1.641 4 1.5C4 1.359 4.048 1.241 4.144 1.144C4.241 1.048 4.359 1 4.5 1L6 1C6.763 1 7.499 1.14 8.209 1.421ZM9.447 13.085L6.618 14.5C6.266 14.676 5.893 14.764 5.5 14.764C5.107 14.764 4.734 14.676 4.382 14.5L1.553 13.085C1.383 13.001 1.249 12.878 1.149 12.717C1.05 12.556 1 12.38 1 12.191L1 8.809C1 8.62 1.05 8.444 1.149 8.283C1.249 8.122 1.383 7.999 1.553 7.915L4.382 6.5C4.734 6.324 5.107 6.236 5.5 6.236C5.893 6.236 6.266 6.324 6.618 6.5L9.447 7.915C9.617 7.999 9.751 8.122 9.851 8.283C9.95 8.444 10 8.62 10 8.809L10 12.191C10 12.38 9.95 12.556 9.851 12.717C9.751 12.878 9.617 13.001 9.447 13.085ZM2.618 8.5L4.829 9.606C5.04 9.711 5.264 9.764 5.5 9.764C5.736 9.764 5.96 9.711 6.171 9.606L8.382 8.5L6.171 7.394C5.96 7.289 5.736 7.236 5.5 7.236C5.264 7.236 5.04 7.289 4.829 7.394L2.618 8.5ZM2 12.191L4.829 13.606C4.885 13.634 4.942 13.658 5 13.679L5 10.714C4.787 10.671 4.581 10.6 4.382 10.5L2 9.309L2 12.191ZM6.171 13.606L9 12.191L9 9.309L6.618 10.5C6.419 10.6 6.213 10.671 6 10.714L6 13.679C6.058 13.658 6.115 13.634 6.171 13.606Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

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

### Android XML

```xml
<!-- res/drawable/ic_rotate_3d.xml · Gentleface "rotate-3d" (line-round), MIT. https://gentleface.com/icons/rotate-3d -->
<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="M8.209 1.421C8.979 1.726 9.657 2.172 10.243 2.757C10.828 3.343 11.274 4.021 11.579 4.791C11.776 5.291 11.905 5.804 11.963 6.33L14.146 4.146C14.246 4.047 14.364 3.997 14.5 3.997C14.636 3.997 14.754 4.047 14.854 4.146C14.951 4.244 15 4.362 15 4.5C15 4.638 14.951 4.756 14.854 4.854L11.854 7.854C11.754 7.953 11.636 8.003 11.5 8.003C11.364 8.003 11.246 7.953 11.146 7.854L8.146 4.854C8.049 4.756 8 4.638 8 4.5C8 4.362 8.049 4.244 8.146 4.146C8.246 4.047 8.364 3.997 8.5 3.997C8.636 3.997 8.754 4.047 8.854 4.146L10.942 6.235C10.885 5.868 10.788 5.51 10.649 5.16C10.395 4.518 10.024 3.953 9.536 3.464C9.047 2.976 8.482 2.605 7.84 2.351C7.249 2.117 6.636 2 6 2L4.5 2C4.359 2 4.241 1.952 4.144 1.856C4.048 1.759 4 1.641 4 1.5C4 1.359 4.048 1.241 4.144 1.144C4.241 1.048 4.359 1 4.5 1L6 1C6.763 1 7.499 1.14 8.209 1.421ZM9.447 13.085L6.618 14.5C6.266 14.676 5.893 14.764 5.5 14.764C5.107 14.764 4.734 14.676 4.382 14.5L1.553 13.085C1.383 13.001 1.249 12.878 1.149 12.717C1.05 12.556 1 12.38 1 12.191L1 8.809C1 8.62 1.05 8.444 1.149 8.283C1.249 8.122 1.383 7.999 1.553 7.915L4.382 6.5C4.734 6.324 5.107 6.236 5.5 6.236C5.893 6.236 6.266 6.324 6.618 6.5L9.447 7.915C9.617 7.999 9.751 8.122 9.851 8.283C9.95 8.444 10 8.62 10 8.809L10 12.191C10 12.38 9.95 12.556 9.851 12.717C9.751 12.878 9.617 13.001 9.447 13.085ZM2.618 8.5L4.829 9.606C5.04 9.711 5.264 9.764 5.5 9.764C5.736 9.764 5.96 9.711 6.171 9.606L8.382 8.5L6.171 7.394C5.96 7.289 5.736 7.236 5.5 7.236C5.264 7.236 5.04 7.289 4.829 7.394L2.618 8.5ZM2 12.191L4.829 13.606C4.885 13.634 4.942 13.658 5 13.679L5 10.714C4.787 10.671 4.581 10.6 4.382 10.5L2 9.309L2 12.191ZM6.171 13.606L9 12.191L9 9.309L6.618 10.5C6.419 10.6 6.213 10.671 6 10.714L6 13.679C6.058 13.658 6.115 13.634 6.171 13.606Z"/>
</vector>
```

### Flutter

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

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

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

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

  @override
  void paint(Canvas canvas, Size size) {
    canvas.scale(size.width / 16, size.height / 16);
    final p = Path()
      ..moveTo(8.209, 1.421)
      ..cubicTo(8.979, 1.726, 9.657, 2.172, 10.243, 2.757)
      ..cubicTo(10.828, 3.343, 11.274, 4.021, 11.579, 4.791)
      ..cubicTo(11.776, 5.291, 11.905, 5.804, 11.963, 6.33)
      ..lineTo(14.146, 4.146)
      ..cubicTo(14.246, 4.047, 14.364, 3.997, 14.5, 3.997)
      ..cubicTo(14.636, 3.997, 14.754, 4.047, 14.854, 4.146)
      ..cubicTo(14.951, 4.244, 15, 4.362, 15, 4.5)
      ..cubicTo(15, 4.638, 14.951, 4.756, 14.854, 4.854)
      ..lineTo(11.854, 7.854)
      ..cubicTo(11.754, 7.953, 11.636, 8.003, 11.5, 8.003)
      ..cubicTo(11.364, 8.003, 11.246, 7.953, 11.146, 7.854)
      ..lineTo(8.146, 4.854)
      ..cubicTo(8.049, 4.756, 8, 4.638, 8, 4.5)
      ..cubicTo(8, 4.362, 8.049, 4.244, 8.146, 4.146)
      ..cubicTo(8.246, 4.047, 8.364, 3.997, 8.5, 3.997)
      ..cubicTo(8.636, 3.997, 8.754, 4.047, 8.854, 4.146)
      ..lineTo(10.942, 6.235)
      ..cubicTo(10.885, 5.868, 10.788, 5.51, 10.649, 5.16)
      ..cubicTo(10.395, 4.518, 10.024, 3.953, 9.536, 3.464)
      ..cubicTo(9.047, 2.976, 8.482, 2.605, 7.84, 2.351)
      ..cubicTo(7.249, 2.117, 6.636, 2, 6, 2)
      ..lineTo(4.5, 2)
      ..cubicTo(4.359, 2, 4.241, 1.952, 4.144, 1.856)
      ..cubicTo(4.048, 1.759, 4, 1.641, 4, 1.5)
      ..cubicTo(4, 1.359, 4.048, 1.241, 4.144, 1.144)
      ..cubicTo(4.241, 1.048, 4.359, 1, 4.5, 1)
      ..lineTo(6, 1)
      ..cubicTo(6.763, 1, 7.499, 1.14, 8.209, 1.421)
      ..close()
      ..moveTo(9.447, 13.085)
      ..lineTo(6.618, 14.5)
      ..cubicTo(6.266, 14.676, 5.893, 14.764, 5.5, 14.764)
      ..cubicTo(5.107, 14.764, 4.734, 14.676, 4.382, 14.5)
      ..lineTo(1.553, 13.085)
      ..cubicTo(1.383, 13.001, 1.249, 12.878, 1.149, 12.717)
      ..cubicTo(1.05, 12.556, 1, 12.38, 1, 12.191)
      ..lineTo(1, 8.809)
      ..cubicTo(1, 8.62, 1.05, 8.444, 1.149, 8.283)
      ..cubicTo(1.249, 8.122, 1.383, 7.999, 1.553, 7.915)
      ..lineTo(4.382, 6.5)
      ..cubicTo(4.734, 6.324, 5.107, 6.236, 5.5, 6.236)
      ..cubicTo(5.893, 6.236, 6.266, 6.324, 6.618, 6.5)
      ..lineTo(9.447, 7.915)
      ..cubicTo(9.617, 7.999, 9.751, 8.122, 9.851, 8.283)
      ..cubicTo(9.95, 8.444, 10, 8.62, 10, 8.809)
      ..lineTo(10, 12.191)
      ..cubicTo(10, 12.38, 9.95, 12.556, 9.851, 12.717)
      ..cubicTo(9.751, 12.878, 9.617, 13.001, 9.447, 13.085)
      ..close()
      ..moveTo(2.618, 8.5)
      ..lineTo(4.829, 9.606)
      ..cubicTo(5.04, 9.711, 5.264, 9.764, 5.5, 9.764)
      ..cubicTo(5.736, 9.764, 5.96, 9.711, 6.171, 9.606)
      ..lineTo(8.382, 8.5)
      ..lineTo(6.171, 7.394)
      ..cubicTo(5.96, 7.289, 5.736, 7.236, 5.5, 7.236)
      ..cubicTo(5.264, 7.236, 5.04, 7.289, 4.829, 7.394)
      ..lineTo(2.618, 8.5)
      ..close()
      ..moveTo(2, 12.191)
      ..lineTo(4.829, 13.606)
      ..cubicTo(4.885, 13.634, 4.942, 13.658, 5, 13.679)
      ..lineTo(5, 10.714)
      ..cubicTo(4.787, 10.671, 4.581, 10.6, 4.382, 10.5)
      ..lineTo(2, 9.309)
      ..lineTo(2, 12.191)
      ..close()
      ..moveTo(6.171, 13.606)
      ..lineTo(9, 12.191)
      ..lineTo(9, 9.309)
      ..lineTo(6.618, 10.5)
      ..cubicTo(6.419, 10.6, 6.213, 10.671, 6, 10.714)
      ..lineTo(6, 13.679)
      ..cubicTo(6.058, 13.658, 6.115, 13.634, 6.171, 13.606)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

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