Skip to content
Click to toggle
Interaction
Click toggle
Category
Form
Duration
0.50 s
Frame rate
30 fps
Artboard
32 × 32 px
Lottie size
1.3 kB

Toggle

Animated toggle icon

Toggle is a 0.5 s micro animation that toggles between two states on click; use it for checkboxes, radio buttons and switches. Its static SVGs cover the toggle-left and toggle-right states, so the resting icon still shows which one is active.

Also known asswitchtoggle switch
on offtoggle-lefttoggle-right

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

Use it

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

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

Static SVG

Toggle icon, toggle-left state
toggle-left.svg
Toggle icon, toggle-right state
toggle-right.svg

Questions about the Toggle icon

›Can my app decide whether Toggle shows toggle-left or toggle-right?

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 Toggle icon be a <button>?

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

All form icons →