uiniverse

text

SplitText

Per-character stagger animation that splits text and animates each letter individually with configurable presets and stagger timing from the token system.

v1.0.0react >=18next >=14tailwind >=4motion >=12
textsplitstaggercharacterentranceheadline

Preview

Loading preview...

Props

PropTypeDefaultDescription
text*stringThe text string to split and animate per-character
staggerStaggerName | numbernormalStagger delay between characters. Token name or raw ms value.
presetMotionPresetNamefadeUpMotion preset for each character's entrance
triggerOnViewbooleantrueAnimate when element enters viewport
viewThresholdnumber0.2Fraction of element visible before triggering
oncebooleantrueOnly animate once
classNamestringAdditional Tailwind classes
idstringHTML id attribute

Slots

SlotTypeRequiredDescription
textstringYesThe text content split into individually animated characters via the text prop

Layout

Display: block
Responsive: No

Renders as a block div containing inline-block character spans. Works best with large, short text like headings.

Examples

Basic split headline

<SplitText
  text="Hello World"
  className="text-6xl font-bold"
/>

Dramatic entrance with slow stagger

<SplitText
  text="LAUNCH"
  stagger="dramatic"
  preset="slideUp"
  className="text-8xl font-black tracking-widest"
/>

Scale-in with tight stagger

<SplitText
  text="Design System"
  stagger="tight"
  preset="scaleIn"
  className="text-5xl font-semibold"
/>

Blur reveal with custom ms stagger

<SplitText
  text="Focus"
  stagger={100}
  preset="blur"
  className="text-7xl font-bold"
/>

Pop-in letters

<SplitText
  text="New Feature"
  preset="popIn"
  stagger="relaxed"
  className="text-4xl font-bold text-orange-400"
/>

AI Usage Hint

Use SplitText for dramatic headline entrances where each character animates individually. Adjust 'stagger' with token names ('tight' 40ms, 'normal' 80ms, 'relaxed' 150ms, 'dramatic' 250ms) or raw ms values. Combine with any preset — 'fadeUp' for rising text, 'scaleIn' for growing letters, 'blur' for focus-in effect. Best for short headlines, not paragraphs.

Works Well With

GradientTextFadeUpStaggerGroup