Tumbler Roll Reveal
A mechanical 3D text reveal component. Characters or words roll into place along an invisible 3D cylinder, mimicking the tactile snap of a combination lock or vintage split-flap display.
Last Modified:Aug 17, 2026
Install
CLI
tumbler-roll-reveal
Or install a specific demo variant:
tumbler-roll-reveal-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. |
startAngle | number | 110 | The starting rotation angle on the X-axis. |
cylinderRadius | string | "-0.8em" | The Z-axis pivot point. Creates the 3D cylinder illusion. |
duration | number | 0.9 | Duration of the snap animation per element. |
delay | number | 0 | Delay before the animation begins (in seconds). |
stagger | number | 0.04 | Stagger delay between each element rolling. |
viewportOnce | boolean | true | If true, plays once. If false, seamlessly reverses on scroll away. |
triggerStart | string | "top 90%" | Viewport threshold for when the animation should start. |