Desktop optimized

Please maximize your browser window or use a larger screen to explore the component library.

Go to home

Granular Dust Reveal

A cinematic text reveal component. Uses microscopic SVG fractal noise to shatter typography into granular sand, dynamically coalescing into pristine, anti-aliased text.

Last Modified:Aug 17, 2026

Install

CLI

granular-dust-reveal
$pnpm dlx shadcn@latest add https://ui.satisium.com/r/granular-dust-reveal.json

Or install a specific demo variant:

granular-dust-headline-demo
$pnpm dlx shadcn@latest add https://ui.satisium.com/r/granular-dust-headline-demo.json

Or install a specific demo variant:

granular-dust-paragraph-demo
$pnpm dlx shadcn@latest add https://ui.satisium.com/r/granular-dust-paragraph-demo.json

Manual

1. Install Dependencies

Dependencies
$pnpm add gsap @gsap/react clsx tailwind-merge

2. Add Source Code

Props

PropTypeDefaultDescription
textstringRequiredThe full string of text to reveal. Supports wrapping.
asReact.ElementType"h1"The HTML tag to render as.
splitBy"word" | "char""word"Whether to split and animate by word or individual character.
startingDisplacementnumber80How aggressively the text is shattered into dust at the start.
durationnumber1.5The duration of the reveal for each individual element.
delaynumber0Delay before the animation begins (in seconds).
staggernumber0.04The stagger delay between each element revealing.
viewportOncebooleantrueIf true, plays once. If false, seamlessly reverses on scroll away.
triggerStartstring"top 85%"Viewport threshold for when the animation should start.