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

Heart

Animated heart icon

Heart is a 0.33 s micro animation that toggles between two states on click; use it for like, favourite and bookmark buttons on cards. Click-to-toggle icons typically drive mute/unmute, show/hide password, menu/close, play/pause and like buttons.

Also known aslikefavoritelove

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

Use it

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

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

Static SVG

Heart icon, heart state
heart.svg

Other versions

Questions about the Heart icon

›Can Heart be a controlled toggle?

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

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

›Can I color the fill of Heart separately?

Yes: strokeColor sets the outlines and fillColor the filled parts, e.g. strokeColor="#e5484d" fillColor="#ffd1d1"; both follow the text color by default.