Magnetic Snap Reveal
A kinetic, elastic text reveal component. Elements start in randomized, chaotic coordinates and magnetically snap into their correct layout positions using heavy spring physics.
Last Modified:Aug 17, 2026
Install
CLI
magnetic-snap-reveal
Or install a specific demo variant:
magnetic-snap-demo
Manual
1. Install Dependencies
Dependencies
2. Add Source Code
Props
| Prop | Type | Default | Description |
|---|---|---|---|
text | string | Required | The full string of text to reveal. |
as | React.ElementType | "h1" | The HTML tag to render as. |
splitBy | "word" | "char" | "char" | Whether to split and animate by word or individual character. |
duration | number | 1.2 | Duration of the elastic snap. |
delay | number | 0 | Delay before the animation begins (in seconds). |
stagger | number | 0.02 | Stagger delay between each element snapping into place. |
viewportOnce | boolean | true | If true, plays once. If false, seamlessly reverses on scroll away. |
triggerStart | string | "top 85%" | Viewport threshold for when the animation should start. |