# eye icon

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

- Category: Actions
- Use it for: view, visible, show, preview, visibility, unhide
- Tags: visibility, preview, watch
- Family: eye-check, eye-clock, eye-closed, eye-off, eye-sparkle, eye-user
- Component name: EyeIcon
- Added: 2026-10-13
- Changed: 2026-10-14 (20 px drawn, 24 px drawn)

## Alternatives

- `eye-user`: view as another user or role
- `eye-off`: hidden, the other state of the toggle

## Don't confuse with

- `glasses`: glasses mean eyesight or reading mode

## Also fits

- read only: a viewing mode beside editing modes (document mode switch)
- watch: watch a repository or a thread for updates, as GitHub does (view)
- preview file: the bare view when the UI already names the file

## Not for

- vision (use `glasses`): view or visible, not eyesight
- binoculars (use `binoculars`): view or visible, not looking far
- tracking (use `radar`): view or visible, not tracking

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

The SVG of every style: https://gentleface.com/icons/eye.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 3C9.51 3 10.882 3.472 12.116 4.415C13.122 5.184 14.059 6.293 14.929 7.743C14.977 7.823 15.001 7.908 15.001 8C15.001 8.092 14.977 8.177 14.929 8.257C14.059 9.707 13.122 10.816 12.116 11.585C10.882 12.528 9.51 13 8 13C6.49 13 5.118 12.528 3.884 11.585C2.878 10.816 1.941 9.707 1.071 8.257C1.023 8.177 0.999 8.092 0.999 8C0.999 7.908 1.023 7.823 1.071 7.743C1.941 6.293 2.878 5.184 3.884 4.415C5.118 3.472 6.49 3 8 3ZM8 12C9.285 12 10.454 11.597 11.509 10.79C12.354 10.144 13.156 9.214 13.914 8C13.156 6.786 12.354 5.856 11.509 5.21C10.454 4.403 9.285 4 8 4C6.715 4 5.546 4.403 4.491 5.21C3.646 5.856 2.844 6.786 2.086 8C2.844 9.214 3.646 10.144 4.491 10.79C5.546 11.597 6.715 12 8 12ZM5.211 6.896C5.363 6.511 5.586 6.172 5.879 5.879C6.172 5.586 6.511 5.363 6.896 5.211C7.25 5.07 7.619 5 8 5C8.381 5 8.75 5.07 9.104 5.211C9.489 5.363 9.828 5.586 10.121 5.879C10.414 6.172 10.637 6.511 10.789 6.896C10.93 7.25 11 7.619 11 8C11 8.381 10.93 8.75 10.789 9.104C10.637 9.489 10.414 9.828 10.121 10.121C9.828 10.414 9.489 10.637 9.104 10.789C8.75 10.93 8.381 11 8 11C7.619 11 7.25 10.93 6.896 10.789C6.511 10.637 6.172 10.414 5.879 10.121C5.586 9.828 5.363 9.489 5.211 9.104C5.07 8.75 5 8.381 5 8C5 7.619 5.07 7.25 5.211 6.896ZM6.14 8.736C6.242 8.993 6.391 9.219 6.586 9.414C6.781 9.609 7.007 9.758 7.264 9.86C7.5 9.953 7.746 10 8 10C8.254 10 8.5 9.953 8.736 9.86C8.993 9.758 9.219 9.609 9.414 9.414C9.609 9.219 9.758 8.993 9.86 8.736C9.953 8.5 10 8.254 10 8C10 7.746 9.953 7.5 9.86 7.264C9.758 7.007 9.609 6.781 9.414 6.586C9.219 6.391 8.993 6.242 8.736 6.14C8.5 6.047 8.254 6 8 6C7.746 6 7.5 6.047 7.264 6.14C7.007 6.242 6.781 6.391 6.586 6.586C6.391 6.781 6.242 7.007 6.14 7.264C6.047 7.5 6 7.746 6 8C6 8.254 6.047 8.5 6.14 8.736Z"/></svg>
```

### React

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

export function EyeIcon(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 3C9.51 3 10.882 3.472 12.116 4.415C13.122 5.184 14.059 6.293 14.929 7.743C14.977 7.823 15.001 7.908 15.001 8C15.001 8.092 14.977 8.177 14.929 8.257C14.059 9.707 13.122 10.816 12.116 11.585C10.882 12.528 9.51 13 8 13C6.49 13 5.118 12.528 3.884 11.585C2.878 10.816 1.941 9.707 1.071 8.257C1.023 8.177 0.999 8.092 0.999 8C0.999 7.908 1.023 7.823 1.071 7.743C1.941 6.293 2.878 5.184 3.884 4.415C5.118 3.472 6.49 3 8 3ZM8 12C9.285 12 10.454 11.597 11.509 10.79C12.354 10.144 13.156 9.214 13.914 8C13.156 6.786 12.354 5.856 11.509 5.21C10.454 4.403 9.285 4 8 4C6.715 4 5.546 4.403 4.491 5.21C3.646 5.856 2.844 6.786 2.086 8C2.844 9.214 3.646 10.144 4.491 10.79C5.546 11.597 6.715 12 8 12ZM5.211 6.896C5.363 6.511 5.586 6.172 5.879 5.879C6.172 5.586 6.511 5.363 6.896 5.211C7.25 5.07 7.619 5 8 5C8.381 5 8.75 5.07 9.104 5.211C9.489 5.363 9.828 5.586 10.121 5.879C10.414 6.172 10.637 6.511 10.789 6.896C10.93 7.25 11 7.619 11 8C11 8.381 10.93 8.75 10.789 9.104C10.637 9.489 10.414 9.828 10.121 10.121C9.828 10.414 9.489 10.637 9.104 10.789C8.75 10.93 8.381 11 8 11C7.619 11 7.25 10.93 6.896 10.789C6.511 10.637 6.172 10.414 5.879 10.121C5.586 9.828 5.363 9.489 5.211 9.104C5.07 8.75 5 8.381 5 8C5 7.619 5.07 7.25 5.211 6.896ZM6.14 8.736C6.242 8.993 6.391 9.219 6.586 9.414C6.781 9.609 7.007 9.758 7.264 9.86C7.5 9.953 7.746 10 8 10C8.254 10 8.5 9.953 8.736 9.86C8.993 9.758 9.219 9.609 9.414 9.414C9.609 9.219 9.758 8.993 9.86 8.736C9.953 8.5 10 8.254 10 8C10 7.746 9.953 7.5 9.86 7.264C9.758 7.007 9.609 6.781 9.414 6.586C9.219 6.391 8.993 6.242 8.736 6.14C8.5 6.047 8.254 6 8 6C7.746 6 7.5 6.047 7.264 6.14C7.007 6.242 6.781 6.391 6.586 6.586C6.391 6.781 6.242 7.007 6.14 7.264C6.047 7.5 6 7.746 6 8C6 8.254 6.047 8.5 6.14 8.736Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "eye" (line-round), MIT. https://gentleface.com/icons/eye -->
<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 3C9.51 3 10.882 3.472 12.116 4.415C13.122 5.184 14.059 6.293 14.929 7.743C14.977 7.823 15.001 7.908 15.001 8C15.001 8.092 14.977 8.177 14.929 8.257C14.059 9.707 13.122 10.816 12.116 11.585C10.882 12.528 9.51 13 8 13C6.49 13 5.118 12.528 3.884 11.585C2.878 10.816 1.941 9.707 1.071 8.257C1.023 8.177 0.999 8.092 0.999 8C0.999 7.908 1.023 7.823 1.071 7.743C1.941 6.293 2.878 5.184 3.884 4.415C5.118 3.472 6.49 3 8 3ZM8 12C9.285 12 10.454 11.597 11.509 10.79C12.354 10.144 13.156 9.214 13.914 8C13.156 6.786 12.354 5.856 11.509 5.21C10.454 4.403 9.285 4 8 4C6.715 4 5.546 4.403 4.491 5.21C3.646 5.856 2.844 6.786 2.086 8C2.844 9.214 3.646 10.144 4.491 10.79C5.546 11.597 6.715 12 8 12ZM5.211 6.896C5.363 6.511 5.586 6.172 5.879 5.879C6.172 5.586 6.511 5.363 6.896 5.211C7.25 5.07 7.619 5 8 5C8.381 5 8.75 5.07 9.104 5.211C9.489 5.363 9.828 5.586 10.121 5.879C10.414 6.172 10.637 6.511 10.789 6.896C10.93 7.25 11 7.619 11 8C11 8.381 10.93 8.75 10.789 9.104C10.637 9.489 10.414 9.828 10.121 10.121C9.828 10.414 9.489 10.637 9.104 10.789C8.75 10.93 8.381 11 8 11C7.619 11 7.25 10.93 6.896 10.789C6.511 10.637 6.172 10.414 5.879 10.121C5.586 9.828 5.363 9.489 5.211 9.104C5.07 8.75 5 8.381 5 8C5 7.619 5.07 7.25 5.211 6.896ZM6.14 8.736C6.242 8.993 6.391 9.219 6.586 9.414C6.781 9.609 7.007 9.758 7.264 9.86C7.5 9.953 7.746 10 8 10C8.254 10 8.5 9.953 8.736 9.86C8.993 9.758 9.219 9.609 9.414 9.414C9.609 9.219 9.758 8.993 9.86 8.736C9.953 8.5 10 8.254 10 8C10 7.746 9.953 7.5 9.86 7.264C9.758 7.007 9.609 6.781 9.414 6.586C9.219 6.391 8.993 6.242 8.736 6.14C8.5 6.047 8.254 6 8 6C7.746 6 7.5 6.047 7.264 6.14C7.007 6.242 6.781 6.391 6.586 6.586C6.391 6.781 6.242 7.007 6.14 7.264C6.047 7.5 6 7.746 6 8C6 8.254 6.047 8.5 6.14 8.736Z" />
  </svg>
</template>
```

### Svelte

```svelte
<!-- Gentleface "eye" (line-round), MIT. https://gentleface.com/icons/eye -->
<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 3C9.51 3 10.882 3.472 12.116 4.415C13.122 5.184 14.059 6.293 14.929 7.743C14.977 7.823 15.001 7.908 15.001 8C15.001 8.092 14.977 8.177 14.929 8.257C14.059 9.707 13.122 10.816 12.116 11.585C10.882 12.528 9.51 13 8 13C6.49 13 5.118 12.528 3.884 11.585C2.878 10.816 1.941 9.707 1.071 8.257C1.023 8.177 0.999 8.092 0.999 8C0.999 7.908 1.023 7.823 1.071 7.743C1.941 6.293 2.878 5.184 3.884 4.415C5.118 3.472 6.49 3 8 3ZM8 12C9.285 12 10.454 11.597 11.509 10.79C12.354 10.144 13.156 9.214 13.914 8C13.156 6.786 12.354 5.856 11.509 5.21C10.454 4.403 9.285 4 8 4C6.715 4 5.546 4.403 4.491 5.21C3.646 5.856 2.844 6.786 2.086 8C2.844 9.214 3.646 10.144 4.491 10.79C5.546 11.597 6.715 12 8 12ZM5.211 6.896C5.363 6.511 5.586 6.172 5.879 5.879C6.172 5.586 6.511 5.363 6.896 5.211C7.25 5.07 7.619 5 8 5C8.381 5 8.75 5.07 9.104 5.211C9.489 5.363 9.828 5.586 10.121 5.879C10.414 6.172 10.637 6.511 10.789 6.896C10.93 7.25 11 7.619 11 8C11 8.381 10.93 8.75 10.789 9.104C10.637 9.489 10.414 9.828 10.121 10.121C9.828 10.414 9.489 10.637 9.104 10.789C8.75 10.93 8.381 11 8 11C7.619 11 7.25 10.93 6.896 10.789C6.511 10.637 6.172 10.414 5.879 10.121C5.586 9.828 5.363 9.489 5.211 9.104C5.07 8.75 5 8.381 5 8C5 7.619 5.07 7.25 5.211 6.896ZM6.14 8.736C6.242 8.993 6.391 9.219 6.586 9.414C6.781 9.609 7.007 9.758 7.264 9.86C7.5 9.953 7.746 10 8 10C8.254 10 8.5 9.953 8.736 9.86C8.993 9.758 9.219 9.609 9.414 9.414C9.609 9.219 9.758 8.993 9.86 8.736C9.953 8.5 10 8.254 10 8C10 7.746 9.953 7.5 9.86 7.264C9.758 7.007 9.609 6.781 9.414 6.586C9.219 6.391 8.993 6.242 8.736 6.14C8.5 6.047 8.254 6 8 6C7.746 6 7.5 6.047 7.264 6.14C7.007 6.242 6.781 6.391 6.586 6.586C6.391 6.781 6.242 7.007 6.14 7.264C6.047 7.5 6 7.746 6 8C6 8.254 6.047 8.5 6.14 8.736Z" />
</svg>
```

### HTML img

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

### CSS

```css
/* Gentleface "eye" (line-round), MIT. https://gentleface.com/icons/eye. Takes the text color. */
.icon-eye {
  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 3C9.51 3 10.882 3.472 12.116 4.415C13.122 5.184 14.059 6.293 14.929 7.743C14.977 7.823 15.001 7.908 15.001 8C15.001 8.092 14.977 8.177 14.929 8.257C14.059 9.707 13.122 10.816 12.116 11.585C10.882 12.528 9.51 13 8 13C6.49 13 5.118 12.528 3.884 11.585C2.878 10.816 1.941 9.707 1.071 8.257C1.023 8.177 0.999 8.092 0.999 8C0.999 7.908 1.023 7.823 1.071 7.743C1.941 6.293 2.878 5.184 3.884 4.415C5.118 3.472 6.49 3 8 3ZM8 12C9.285 12 10.454 11.597 11.509 10.79C12.354 10.144 13.156 9.214 13.914 8C13.156 6.786 12.354 5.856 11.509 5.21C10.454 4.403 9.285 4 8 4C6.715 4 5.546 4.403 4.491 5.21C3.646 5.856 2.844 6.786 2.086 8C2.844 9.214 3.646 10.144 4.491 10.79C5.546 11.597 6.715 12 8 12ZM5.211 6.896C5.363 6.511 5.586 6.172 5.879 5.879C6.172 5.586 6.511 5.363 6.896 5.211C7.25 5.07 7.619 5 8 5C8.381 5 8.75 5.07 9.104 5.211C9.489 5.363 9.828 5.586 10.121 5.879C10.414 6.172 10.637 6.511 10.789 6.896C10.93 7.25 11 7.619 11 8C11 8.381 10.93 8.75 10.789 9.104C10.637 9.489 10.414 9.828 10.121 10.121C9.828 10.414 9.489 10.637 9.104 10.789C8.75 10.93 8.381 11 8 11C7.619 11 7.25 10.93 6.896 10.789C6.511 10.637 6.172 10.414 5.879 10.121C5.586 9.828 5.363 9.489 5.211 9.104C5.07 8.75 5 8.381 5 8C5 7.619 5.07 7.25 5.211 6.896ZM6.14 8.736C6.242 8.993 6.391 9.219 6.586 9.414C6.781 9.609 7.007 9.758 7.264 9.86C7.5 9.953 7.746 10 8 10C8.254 10 8.5 9.953 8.736 9.86C8.993 9.758 9.219 9.609 9.414 9.414C9.609 9.219 9.758 8.993 9.86 8.736C9.953 8.5 10 8.254 10 8C10 7.746 9.953 7.5 9.86 7.264C9.758 7.007 9.609 6.781 9.414 6.586C9.219 6.391 8.993 6.242 8.736 6.14C8.5 6.047 8.254 6 8 6C7.746 6 7.5 6.047 7.264 6.14C7.007 6.242 6.781 6.391 6.586 6.586C6.391 6.781 6.242 7.007 6.14 7.264C6.047 7.5 6 7.746 6 8C6 8.254 6.047 8.5 6.14 8.736Z'/%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 3C9.51 3 10.882 3.472 12.116 4.415C13.122 5.184 14.059 6.293 14.929 7.743C14.977 7.823 15.001 7.908 15.001 8C15.001 8.092 14.977 8.177 14.929 8.257C14.059 9.707 13.122 10.816 12.116 11.585C10.882 12.528 9.51 13 8 13C6.49 13 5.118 12.528 3.884 11.585C2.878 10.816 1.941 9.707 1.071 8.257C1.023 8.177 0.999 8.092 0.999 8C0.999 7.908 1.023 7.823 1.071 7.743C1.941 6.293 2.878 5.184 3.884 4.415C5.118 3.472 6.49 3 8 3ZM8 12C9.285 12 10.454 11.597 11.509 10.79C12.354 10.144 13.156 9.214 13.914 8C13.156 6.786 12.354 5.856 11.509 5.21C10.454 4.403 9.285 4 8 4C6.715 4 5.546 4.403 4.491 5.21C3.646 5.856 2.844 6.786 2.086 8C2.844 9.214 3.646 10.144 4.491 10.79C5.546 11.597 6.715 12 8 12ZM5.211 6.896C5.363 6.511 5.586 6.172 5.879 5.879C6.172 5.586 6.511 5.363 6.896 5.211C7.25 5.07 7.619 5 8 5C8.381 5 8.75 5.07 9.104 5.211C9.489 5.363 9.828 5.586 10.121 5.879C10.414 6.172 10.637 6.511 10.789 6.896C10.93 7.25 11 7.619 11 8C11 8.381 10.93 8.75 10.789 9.104C10.637 9.489 10.414 9.828 10.121 10.121C9.828 10.414 9.489 10.637 9.104 10.789C8.75 10.93 8.381 11 8 11C7.619 11 7.25 10.93 6.896 10.789C6.511 10.637 6.172 10.414 5.879 10.121C5.586 9.828 5.363 9.489 5.211 9.104C5.07 8.75 5 8.381 5 8C5 7.619 5.07 7.25 5.211 6.896ZM6.14 8.736C6.242 8.993 6.391 9.219 6.586 9.414C6.781 9.609 7.007 9.758 7.264 9.86C7.5 9.953 7.746 10 8 10C8.254 10 8.5 9.953 8.736 9.86C8.993 9.758 9.219 9.609 9.414 9.414C9.609 9.219 9.758 8.993 9.86 8.736C9.953 8.5 10 8.254 10 8C10 7.746 9.953 7.5 9.86 7.264C9.758 7.007 9.609 6.781 9.414 6.586C9.219 6.391 8.993 6.242 8.736 6.14C8.5 6.047 8.254 6 8 6C7.746 6 7.5 6.047 7.264 6.14C7.007 6.242 6.781 6.391 6.586 6.586C6.391 6.781 6.242 7.007 6.14 7.264C6.047 7.5 6 7.746 6 8C6 8.254 6.047 8.5 6.14 8.736Z'/%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 3C9.51 3 10.882 3.472 12.116 4.415C13.122 5.184 14.059 6.293 14.929 7.743C14.977 7.823 15.001 7.908 15.001 8C15.001 8.092 14.977 8.177 14.929 8.257C14.059 9.707 13.122 10.816 12.116 11.585C10.882 12.528 9.51 13 8 13C6.49 13 5.118 12.528 3.884 11.585C2.878 10.816 1.941 9.707 1.071 8.257C1.023 8.177 0.999 8.092 0.999 8C0.999 7.908 1.023 7.823 1.071 7.743C1.941 6.293 2.878 5.184 3.884 4.415C5.118 3.472 6.49 3 8 3ZM8 12C9.285 12 10.454 11.597 11.509 10.79C12.354 10.144 13.156 9.214 13.914 8C13.156 6.786 12.354 5.856 11.509 5.21C10.454 4.403 9.285 4 8 4C6.715 4 5.546 4.403 4.491 5.21C3.646 5.856 2.844 6.786 2.086 8C2.844 9.214 3.646 10.144 4.491 10.79C5.546 11.597 6.715 12 8 12ZM5.211 6.896C5.363 6.511 5.586 6.172 5.879 5.879C6.172 5.586 6.511 5.363 6.896 5.211C7.25 5.07 7.619 5 8 5C8.381 5 8.75 5.07 9.104 5.211C9.489 5.363 9.828 5.586 10.121 5.879C10.414 6.172 10.637 6.511 10.789 6.896C10.93 7.25 11 7.619 11 8C11 8.381 10.93 8.75 10.789 9.104C10.637 9.489 10.414 9.828 10.121 10.121C9.828 10.414 9.489 10.637 9.104 10.789C8.75 10.93 8.381 11 8 11C7.619 11 7.25 10.93 6.896 10.789C6.511 10.637 6.172 10.414 5.879 10.121C5.586 9.828 5.363 9.489 5.211 9.104C5.07 8.75 5 8.381 5 8C5 7.619 5.07 7.25 5.211 6.896ZM6.14 8.736C6.242 8.993 6.391 9.219 6.586 9.414C6.781 9.609 7.007 9.758 7.264 9.86C7.5 9.953 7.746 10 8 10C8.254 10 8.5 9.953 8.736 9.86C8.993 9.758 9.219 9.609 9.414 9.414C9.609 9.219 9.758 8.993 9.86 8.736C9.953 8.5 10 8.254 10 8C10 7.746 9.953 7.5 9.86 7.264C9.758 7.007 9.609 6.781 9.414 6.586C9.219 6.391 8.993 6.242 8.736 6.14C8.5 6.047 8.254 6 8 6C7.746 6 7.5 6.047 7.264 6.14C7.007 6.242 6.781 6.391 6.586 6.586C6.391 6.781 6.242 7.007 6.14 7.264C6.047 7.5 6 7.746 6 8C6 8.254 6.047 8.5 6.14 8.736Z'/%3E%3C/svg%3E
```

### Sprite

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

### SwiftUI

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

struct EyeIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 8, y: 3))
        p.addCurve(to: CGPoint(x: 12.116, y: 4.415), control1: CGPoint(x: 9.51, y: 3), control2: CGPoint(x: 10.882, y: 3.472))
        p.addCurve(to: CGPoint(x: 14.929, y: 7.743), control1: CGPoint(x: 13.122, y: 5.184), control2: CGPoint(x: 14.059, y: 6.293))
        p.addCurve(to: CGPoint(x: 15.001, y: 8), control1: CGPoint(x: 14.977, y: 7.823), control2: CGPoint(x: 15.001, y: 7.908))
        p.addCurve(to: CGPoint(x: 14.929, y: 8.257), control1: CGPoint(x: 15.001, y: 8.092), control2: CGPoint(x: 14.977, y: 8.177))
        p.addCurve(to: CGPoint(x: 12.116, y: 11.585), control1: CGPoint(x: 14.059, y: 9.707), control2: CGPoint(x: 13.122, y: 10.816))
        p.addCurve(to: CGPoint(x: 8, y: 13), control1: CGPoint(x: 10.882, y: 12.528), control2: CGPoint(x: 9.51, y: 13))
        p.addCurve(to: CGPoint(x: 3.884, y: 11.585), control1: CGPoint(x: 6.49, y: 13), control2: CGPoint(x: 5.118, y: 12.528))
        p.addCurve(to: CGPoint(x: 1.071, y: 8.257), control1: CGPoint(x: 2.878, y: 10.816), control2: CGPoint(x: 1.941, y: 9.707))
        p.addCurve(to: CGPoint(x: 0.999, y: 8), control1: CGPoint(x: 1.023, y: 8.177), control2: CGPoint(x: 0.999, y: 8.092))
        p.addCurve(to: CGPoint(x: 1.071, y: 7.743), control1: CGPoint(x: 0.999, y: 7.908), control2: CGPoint(x: 1.023, y: 7.823))
        p.addCurve(to: CGPoint(x: 3.884, y: 4.415), control1: CGPoint(x: 1.941, y: 6.293), control2: CGPoint(x: 2.878, y: 5.184))
        p.addCurve(to: CGPoint(x: 8, y: 3), control1: CGPoint(x: 5.118, y: 3.472), control2: CGPoint(x: 6.49, y: 3))
        p.closeSubpath()
        p.move(to: CGPoint(x: 8, y: 12))
        p.addCurve(to: CGPoint(x: 11.509, y: 10.79), control1: CGPoint(x: 9.285, y: 12), control2: CGPoint(x: 10.454, y: 11.597))
        p.addCurve(to: CGPoint(x: 13.914, y: 8), control1: CGPoint(x: 12.354, y: 10.144), control2: CGPoint(x: 13.156, y: 9.214))
        p.addCurve(to: CGPoint(x: 11.509, y: 5.21), control1: CGPoint(x: 13.156, y: 6.786), control2: CGPoint(x: 12.354, y: 5.856))
        p.addCurve(to: CGPoint(x: 8, y: 4), control1: CGPoint(x: 10.454, y: 4.403), control2: CGPoint(x: 9.285, y: 4))
        p.addCurve(to: CGPoint(x: 4.491, y: 5.21), control1: CGPoint(x: 6.715, y: 4), control2: CGPoint(x: 5.546, y: 4.403))
        p.addCurve(to: CGPoint(x: 2.086, y: 8), control1: CGPoint(x: 3.646, y: 5.856), control2: CGPoint(x: 2.844, y: 6.786))
        p.addCurve(to: CGPoint(x: 4.491, y: 10.79), control1: CGPoint(x: 2.844, y: 9.214), control2: CGPoint(x: 3.646, y: 10.144))
        p.addCurve(to: CGPoint(x: 8, y: 12), control1: CGPoint(x: 5.546, y: 11.597), control2: CGPoint(x: 6.715, y: 12))
        p.closeSubpath()
        p.move(to: CGPoint(x: 5.211, y: 6.896))
        p.addCurve(to: CGPoint(x: 5.879, y: 5.879), control1: CGPoint(x: 5.363, y: 6.511), control2: CGPoint(x: 5.586, y: 6.172))
        p.addCurve(to: CGPoint(x: 6.896, y: 5.211), control1: CGPoint(x: 6.172, y: 5.586), control2: CGPoint(x: 6.511, y: 5.363))
        p.addCurve(to: CGPoint(x: 8, y: 5), control1: CGPoint(x: 7.25, y: 5.07), control2: CGPoint(x: 7.619, y: 5))
        p.addCurve(to: CGPoint(x: 9.104, y: 5.211), control1: CGPoint(x: 8.381, y: 5), control2: CGPoint(x: 8.75, y: 5.07))
        p.addCurve(to: CGPoint(x: 10.121, y: 5.879), control1: CGPoint(x: 9.489, y: 5.363), control2: CGPoint(x: 9.828, y: 5.586))
        p.addCurve(to: CGPoint(x: 10.789, y: 6.896), control1: CGPoint(x: 10.414, y: 6.172), control2: CGPoint(x: 10.637, y: 6.511))
        p.addCurve(to: CGPoint(x: 11, y: 8), control1: CGPoint(x: 10.93, y: 7.25), control2: CGPoint(x: 11, y: 7.619))
        p.addCurve(to: CGPoint(x: 10.789, y: 9.104), control1: CGPoint(x: 11, y: 8.381), control2: CGPoint(x: 10.93, y: 8.75))
        p.addCurve(to: CGPoint(x: 10.121, y: 10.121), control1: CGPoint(x: 10.637, y: 9.489), control2: CGPoint(x: 10.414, y: 9.828))
        p.addCurve(to: CGPoint(x: 9.104, y: 10.789), control1: CGPoint(x: 9.828, y: 10.414), control2: CGPoint(x: 9.489, y: 10.637))
        p.addCurve(to: CGPoint(x: 8, y: 11), control1: CGPoint(x: 8.75, y: 10.93), control2: CGPoint(x: 8.381, y: 11))
        p.addCurve(to: CGPoint(x: 6.896, y: 10.789), control1: CGPoint(x: 7.619, y: 11), control2: CGPoint(x: 7.25, y: 10.93))
        p.addCurve(to: CGPoint(x: 5.879, y: 10.121), control1: CGPoint(x: 6.511, y: 10.637), control2: CGPoint(x: 6.172, y: 10.414))
        p.addCurve(to: CGPoint(x: 5.211, y: 9.104), control1: CGPoint(x: 5.586, y: 9.828), control2: CGPoint(x: 5.363, y: 9.489))
        p.addCurve(to: CGPoint(x: 5, y: 8), control1: CGPoint(x: 5.07, y: 8.75), control2: CGPoint(x: 5, y: 8.381))
        p.addCurve(to: CGPoint(x: 5.211, y: 6.896), control1: CGPoint(x: 5, y: 7.619), control2: CGPoint(x: 5.07, y: 7.25))
        p.closeSubpath()
        p.move(to: CGPoint(x: 6.14, y: 8.736))
        p.addCurve(to: CGPoint(x: 6.586, y: 9.414), control1: CGPoint(x: 6.242, y: 8.993), control2: CGPoint(x: 6.391, y: 9.219))
        p.addCurve(to: CGPoint(x: 7.264, y: 9.86), control1: CGPoint(x: 6.781, y: 9.609), control2: CGPoint(x: 7.007, y: 9.758))
        p.addCurve(to: CGPoint(x: 8, y: 10), control1: CGPoint(x: 7.5, y: 9.953), control2: CGPoint(x: 7.746, y: 10))
        p.addCurve(to: CGPoint(x: 8.736, y: 9.86), control1: CGPoint(x: 8.254, y: 10), control2: CGPoint(x: 8.5, y: 9.953))
        p.addCurve(to: CGPoint(x: 9.414, y: 9.414), control1: CGPoint(x: 8.993, y: 9.758), control2: CGPoint(x: 9.219, y: 9.609))
        p.addCurve(to: CGPoint(x: 9.86, y: 8.736), control1: CGPoint(x: 9.609, y: 9.219), control2: CGPoint(x: 9.758, y: 8.993))
        p.addCurve(to: CGPoint(x: 10, y: 8), control1: CGPoint(x: 9.953, y: 8.5), control2: CGPoint(x: 10, y: 8.254))
        p.addCurve(to: CGPoint(x: 9.86, y: 7.264), control1: CGPoint(x: 10, y: 7.746), control2: CGPoint(x: 9.953, y: 7.5))
        p.addCurve(to: CGPoint(x: 9.414, y: 6.586), control1: CGPoint(x: 9.758, y: 7.007), control2: CGPoint(x: 9.609, y: 6.781))
        p.addCurve(to: CGPoint(x: 8.736, y: 6.14), control1: CGPoint(x: 9.219, y: 6.391), control2: CGPoint(x: 8.993, y: 6.242))
        p.addCurve(to: CGPoint(x: 8, y: 6), control1: CGPoint(x: 8.5, y: 6.047), control2: CGPoint(x: 8.254, y: 6))
        p.addCurve(to: CGPoint(x: 7.264, y: 6.14), control1: CGPoint(x: 7.746, y: 6), control2: CGPoint(x: 7.5, y: 6.047))
        p.addCurve(to: CGPoint(x: 6.586, y: 6.586), control1: CGPoint(x: 7.007, y: 6.242), control2: CGPoint(x: 6.781, y: 6.391))
        p.addCurve(to: CGPoint(x: 6.14, y: 7.264), control1: CGPoint(x: 6.391, y: 6.781), control2: CGPoint(x: 6.242, y: 7.007))
        p.addCurve(to: CGPoint(x: 6, y: 8), control1: CGPoint(x: 6.047, y: 7.5), control2: CGPoint(x: 6, y: 7.746))
        p.addCurve(to: CGPoint(x: 6.14, y: 8.736), control1: CGPoint(x: 6, y: 8.254), control2: CGPoint(x: 6.047, y: 8.5))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

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

### Compose

```kotlin
// Gentleface "eye" (line-round), MIT. https://gentleface.com/icons/eye
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 EyeIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "eye", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M8 3C9.51 3 10.882 3.472 12.116 4.415C13.122 5.184 14.059 6.293 14.929 7.743C14.977 7.823 15.001 7.908 15.001 8C15.001 8.092 14.977 8.177 14.929 8.257C14.059 9.707 13.122 10.816 12.116 11.585C10.882 12.528 9.51 13 8 13C6.49 13 5.118 12.528 3.884 11.585C2.878 10.816 1.941 9.707 1.071 8.257C1.023 8.177 0.999 8.092 0.999 8C0.999 7.908 1.023 7.823 1.071 7.743C1.941 6.293 2.878 5.184 3.884 4.415C5.118 3.472 6.49 3 8 3ZM8 12C9.285 12 10.454 11.597 11.509 10.79C12.354 10.144 13.156 9.214 13.914 8C13.156 6.786 12.354 5.856 11.509 5.21C10.454 4.403 9.285 4 8 4C6.715 4 5.546 4.403 4.491 5.21C3.646 5.856 2.844 6.786 2.086 8C2.844 9.214 3.646 10.144 4.491 10.79C5.546 11.597 6.715 12 8 12ZM5.211 6.896C5.363 6.511 5.586 6.172 5.879 5.879C6.172 5.586 6.511 5.363 6.896 5.211C7.25 5.07 7.619 5 8 5C8.381 5 8.75 5.07 9.104 5.211C9.489 5.363 9.828 5.586 10.121 5.879C10.414 6.172 10.637 6.511 10.789 6.896C10.93 7.25 11 7.619 11 8C11 8.381 10.93 8.75 10.789 9.104C10.637 9.489 10.414 9.828 10.121 10.121C9.828 10.414 9.489 10.637 9.104 10.789C8.75 10.93 8.381 11 8 11C7.619 11 7.25 10.93 6.896 10.789C6.511 10.637 6.172 10.414 5.879 10.121C5.586 9.828 5.363 9.489 5.211 9.104C5.07 8.75 5 8.381 5 8C5 7.619 5.07 7.25 5.211 6.896ZM6.14 8.736C6.242 8.993 6.391 9.219 6.586 9.414C6.781 9.609 7.007 9.758 7.264 9.86C7.5 9.953 7.746 10 8 10C8.254 10 8.5 9.953 8.736 9.86C8.993 9.758 9.219 9.609 9.414 9.414C9.609 9.219 9.758 8.993 9.86 8.736C9.953 8.5 10 8.254 10 8C10 7.746 9.953 7.5 9.86 7.264C9.758 7.007 9.609 6.781 9.414 6.586C9.219 6.391 8.993 6.242 8.736 6.14C8.5 6.047 8.254 6 8 6C7.746 6 7.5 6.047 7.264 6.14C7.007 6.242 6.781 6.391 6.586 6.586C6.391 6.781 6.242 7.007 6.14 7.264C6.047 7.5 6 7.746 6 8C6 8.254 6.047 8.5 6.14 8.736Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

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

### Android XML

```xml
<!-- res/drawable/ic_eye.xml · Gentleface "eye" (line-round), MIT. https://gentleface.com/icons/eye -->
<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 3C9.51 3 10.882 3.472 12.116 4.415C13.122 5.184 14.059 6.293 14.929 7.743C14.977 7.823 15.001 7.908 15.001 8C15.001 8.092 14.977 8.177 14.929 8.257C14.059 9.707 13.122 10.816 12.116 11.585C10.882 12.528 9.51 13 8 13C6.49 13 5.118 12.528 3.884 11.585C2.878 10.816 1.941 9.707 1.071 8.257C1.023 8.177 0.999 8.092 0.999 8C0.999 7.908 1.023 7.823 1.071 7.743C1.941 6.293 2.878 5.184 3.884 4.415C5.118 3.472 6.49 3 8 3ZM8 12C9.285 12 10.454 11.597 11.509 10.79C12.354 10.144 13.156 9.214 13.914 8C13.156 6.786 12.354 5.856 11.509 5.21C10.454 4.403 9.285 4 8 4C6.715 4 5.546 4.403 4.491 5.21C3.646 5.856 2.844 6.786 2.086 8C2.844 9.214 3.646 10.144 4.491 10.79C5.546 11.597 6.715 12 8 12ZM5.211 6.896C5.363 6.511 5.586 6.172 5.879 5.879C6.172 5.586 6.511 5.363 6.896 5.211C7.25 5.07 7.619 5 8 5C8.381 5 8.75 5.07 9.104 5.211C9.489 5.363 9.828 5.586 10.121 5.879C10.414 6.172 10.637 6.511 10.789 6.896C10.93 7.25 11 7.619 11 8C11 8.381 10.93 8.75 10.789 9.104C10.637 9.489 10.414 9.828 10.121 10.121C9.828 10.414 9.489 10.637 9.104 10.789C8.75 10.93 8.381 11 8 11C7.619 11 7.25 10.93 6.896 10.789C6.511 10.637 6.172 10.414 5.879 10.121C5.586 9.828 5.363 9.489 5.211 9.104C5.07 8.75 5 8.381 5 8C5 7.619 5.07 7.25 5.211 6.896ZM6.14 8.736C6.242 8.993 6.391 9.219 6.586 9.414C6.781 9.609 7.007 9.758 7.264 9.86C7.5 9.953 7.746 10 8 10C8.254 10 8.5 9.953 8.736 9.86C8.993 9.758 9.219 9.609 9.414 9.414C9.609 9.219 9.758 8.993 9.86 8.736C9.953 8.5 10 8.254 10 8C10 7.746 9.953 7.5 9.86 7.264C9.758 7.007 9.609 6.781 9.414 6.586C9.219 6.391 8.993 6.242 8.736 6.14C8.5 6.047 8.254 6 8 6C7.746 6 7.5 6.047 7.264 6.14C7.007 6.242 6.781 6.391 6.586 6.586C6.391 6.781 6.242 7.007 6.14 7.264C6.047 7.5 6 7.746 6 8C6 8.254 6.047 8.5 6.14 8.736Z"/>
</vector>
```

### Flutter

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

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

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

class _EyeIconPainter extends CustomPainter {
  _EyeIconPainter(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, 3)
      ..cubicTo(9.51, 3, 10.882, 3.472, 12.116, 4.415)
      ..cubicTo(13.122, 5.184, 14.059, 6.293, 14.929, 7.743)
      ..cubicTo(14.977, 7.823, 15.001, 7.908, 15.001, 8)
      ..cubicTo(15.001, 8.092, 14.977, 8.177, 14.929, 8.257)
      ..cubicTo(14.059, 9.707, 13.122, 10.816, 12.116, 11.585)
      ..cubicTo(10.882, 12.528, 9.51, 13, 8, 13)
      ..cubicTo(6.49, 13, 5.118, 12.528, 3.884, 11.585)
      ..cubicTo(2.878, 10.816, 1.941, 9.707, 1.071, 8.257)
      ..cubicTo(1.023, 8.177, 0.999, 8.092, 0.999, 8)
      ..cubicTo(0.999, 7.908, 1.023, 7.823, 1.071, 7.743)
      ..cubicTo(1.941, 6.293, 2.878, 5.184, 3.884, 4.415)
      ..cubicTo(5.118, 3.472, 6.49, 3, 8, 3)
      ..close()
      ..moveTo(8, 12)
      ..cubicTo(9.285, 12, 10.454, 11.597, 11.509, 10.79)
      ..cubicTo(12.354, 10.144, 13.156, 9.214, 13.914, 8)
      ..cubicTo(13.156, 6.786, 12.354, 5.856, 11.509, 5.21)
      ..cubicTo(10.454, 4.403, 9.285, 4, 8, 4)
      ..cubicTo(6.715, 4, 5.546, 4.403, 4.491, 5.21)
      ..cubicTo(3.646, 5.856, 2.844, 6.786, 2.086, 8)
      ..cubicTo(2.844, 9.214, 3.646, 10.144, 4.491, 10.79)
      ..cubicTo(5.546, 11.597, 6.715, 12, 8, 12)
      ..close()
      ..moveTo(5.211, 6.896)
      ..cubicTo(5.363, 6.511, 5.586, 6.172, 5.879, 5.879)
      ..cubicTo(6.172, 5.586, 6.511, 5.363, 6.896, 5.211)
      ..cubicTo(7.25, 5.07, 7.619, 5, 8, 5)
      ..cubicTo(8.381, 5, 8.75, 5.07, 9.104, 5.211)
      ..cubicTo(9.489, 5.363, 9.828, 5.586, 10.121, 5.879)
      ..cubicTo(10.414, 6.172, 10.637, 6.511, 10.789, 6.896)
      ..cubicTo(10.93, 7.25, 11, 7.619, 11, 8)
      ..cubicTo(11, 8.381, 10.93, 8.75, 10.789, 9.104)
      ..cubicTo(10.637, 9.489, 10.414, 9.828, 10.121, 10.121)
      ..cubicTo(9.828, 10.414, 9.489, 10.637, 9.104, 10.789)
      ..cubicTo(8.75, 10.93, 8.381, 11, 8, 11)
      ..cubicTo(7.619, 11, 7.25, 10.93, 6.896, 10.789)
      ..cubicTo(6.511, 10.637, 6.172, 10.414, 5.879, 10.121)
      ..cubicTo(5.586, 9.828, 5.363, 9.489, 5.211, 9.104)
      ..cubicTo(5.07, 8.75, 5, 8.381, 5, 8)
      ..cubicTo(5, 7.619, 5.07, 7.25, 5.211, 6.896)
      ..close()
      ..moveTo(6.14, 8.736)
      ..cubicTo(6.242, 8.993, 6.391, 9.219, 6.586, 9.414)
      ..cubicTo(6.781, 9.609, 7.007, 9.758, 7.264, 9.86)
      ..cubicTo(7.5, 9.953, 7.746, 10, 8, 10)
      ..cubicTo(8.254, 10, 8.5, 9.953, 8.736, 9.86)
      ..cubicTo(8.993, 9.758, 9.219, 9.609, 9.414, 9.414)
      ..cubicTo(9.609, 9.219, 9.758, 8.993, 9.86, 8.736)
      ..cubicTo(9.953, 8.5, 10, 8.254, 10, 8)
      ..cubicTo(10, 7.746, 9.953, 7.5, 9.86, 7.264)
      ..cubicTo(9.758, 7.007, 9.609, 6.781, 9.414, 6.586)
      ..cubicTo(9.219, 6.391, 8.993, 6.242, 8.736, 6.14)
      ..cubicTo(8.5, 6.047, 8.254, 6, 8, 6)
      ..cubicTo(7.746, 6, 7.5, 6.047, 7.264, 6.14)
      ..cubicTo(7.007, 6.242, 6.781, 6.391, 6.586, 6.586)
      ..cubicTo(6.391, 6.781, 6.242, 7.007, 6.14, 7.264)
      ..cubicTo(6.047, 7.5, 6, 7.746, 6, 8)
      ..cubicTo(6, 8.254, 6.047, 8.5, 6.14, 8.736)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

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