Staggered Text

Flexible, feature-rich text animation component for staggered reveals

Build faster
than ever

Customize

Duration
1.0s
Delay
80ms

Props

19
textstring

The text content to animate with staggered effect.

Default""
classNamestring

Additional CSS classes to apply to the container.

Default""
as"h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "p" | "span"

The HTML element to render as.

Default"p"
segmentBy"chars" | "words" | "lines"

How to split the text for staggered animation.

Default"words"
separatorstring

Custom separator to split text into rows/lines before segmenting.

Defaultundefined
delaynumber

Delay between each segment animation in milliseconds.

Default80
durationnumber

Duration of each segment animation in seconds.

Default0.6
easingEasing | Easing[]

Motion easing function (single or per-keyframe).

Default(t) => t
thresholdnumber

IntersectionObserver threshold for scroll trigger.

Default0.1
rootMarginstring

IntersectionObserver rootMargin for scroll trigger.

Default"0px"
direction"top" | "bottom" | "left" | "right"

Direction of movement for the animation.

Default"top"
blurboolean

Enable blur effect in the default animation.

Defaulttrue
staggerDirection"forward" | "reverse" | "center"

Direction of stagger: forward (start to end), reverse (end to start), or center (middle out).

Default"forward"
respectReducedMotionboolean

Respect user's prefers-reduced-motion setting.

Defaulttrue
exitOnScrollOutboolean

Automatically trigger exit animation when component scrolls out of view.

Defaultfalse
fromMotionStyle

Override default initial animation state.

Defaultundefined
toMotionStyle | MotionStyle[]

Override default final animation state(s).

Defaultundefined
onAnimationComplete() => void

Callback fired when the last segment finishes animating.

Defaultundefined
onExitComplete() => void

Callback fired when exit animation completes.

Defaultundefined