Text Char Slide

A per-character slide-left cascade with a cleanly staggered entrance timing.

textslidecharacterheadlineanimationtypographystagger
Text Char Slide component preview

Overview

Text Char Slide is a React and Tailwind CSS split text animation that slides each character into place in a staggered cascade, in Next.js or any React app, built on Framer Motion. Stagger is duration divided by character count, so short and long headlines finish in the same time. It can wait until the text scrolls into view and play once, the as prop renders a real heading, and screen readers hear the whole string. Split by character, word, or line, and swap in presets like blur or scale. Reduced motion shows the finished text with no cascade.

Installation

Run the following command

~/your-project
pnpm dlx wensity@latest add text-char-slide

Usage

Import TextCharSlide from @/components/wensity/text-char-slide and render it anywhere in your React or Next.js app. The source lands in your own repo, so every prop, class and animation below is yours to edit.

app/example.tsx
import { TextCharSlide } from "@/components/wensity/text-char-slide";
export default function Example() {
return (
<TextCharSlide
as="h1"
text="Slide left by character"
className="font-display text-4xl font-semibold"
/>
);
}

Props

PropTypeDefaultDescription
textstring-The string to animate per character.
as"p" | "span" | "div" | "h1"–"h6""p"Tag rendered as the outer element.
durationnumber0.3Segment duration. Stagger = duration / character count.
delaynumber0Delay before the cascade starts, in seconds.
startOnViewbooleanfalseWhen true, wait for viewport entry. When false, play on mount.
oncebooleantruePlay only once when using viewport trigger.

Featured in React hero section components.