Skip to content
Click to toggle
Interaction
Click toggle
Category
Action
Duration
0.83 s
Frame rate
30 fps
Artboard
32 × 32 px
Lottie size
2.5 kB

Visibility

Animated visibility icon

Use the Visibility icon for show and hide password toggle in a login form: it toggles between two states on click and takes 0.83 s. Its static SVGs cover the eye-off and eye states, so the resting icon still shows which one is active.

Also known aseyeshow passwordhide passwordpassword toggle
eye-offhidepasswordshow

Free under the MIT license · Markdown version · About the files

Use it

npm install react-useanimations
import UseAnimations from 'react-useanimations';
import visibility from 'react-useanimations/lib/visibility';

<UseAnimations animation={visibility} size={32} />

Static SVG

Visibility icon, eye-off state
eye-off.svg
Visibility icon, eye state
eye.svg

Other versions

Questions about the Visibility icon

›Can my app decide whether Visibility shows eye-off or eye?

Make it controlled: pass active and flip it in onClick, e.g. active={on} onClick={() => setOn(!on)}. true plays to the last frame and false back to the first; an icon that mounts with active already true starts there without animating, and with reduced motion it jumps instead of playing.

›Should the Visibility icon be a <button>?

Put its events on a real button with the render prop: render={(events, icon) => <button aria-label="Visibility" aria-pressed={on} {...events}><span {...icon} /></button>}. The animation itself stays aria-hidden, and aria-pressed tells screen readers which state is on.