Kinetic Type Reveal
Words stagger and tilt in word-by-word as your headline scrolls into view — the choreographed type-in-motion look from 2026 award-winning sites, done in pure CSS transforms (no WebGL).
import { motion } from "framer-motion";
export function KineticTypeReveal({ text = "Choreographed on scroll" }) {
const words = text.split(" ");
return (
<motion.div
className="flex flex-wrap gap-x-[0.4em]"
initial="hidden"
whileInView="visible"
viewport={{ once: true, amount: 0.6 }}
variants={{ visible: { transition: { staggerChildren: 0.06 } } }}
>
{words.map((word, i) => (
<motion.span
key={i}
variants={{
hidden: { opacity: 0, y: 18, rotateX: -40 },
visible: { opacity: 1, y: 0, rotateX: 0 },
}}
transition={{ duration: 0.5, ease: "easeOut" }}
style={{ display: "inline-block", transformPerspective: 400 }}
>
{word}
</motion.span>
))}
</motion.div>
);
}How it works
Kinetic Type Reveal is a hand-built scroll component for React, styled with Tailwind and animated with Framer Motion — no heavy dependency tree, no 60-package install. Drop it in, keep your bundle lean, and it stays performant on real devices. It's free — copy the code above and ship it.
← Browse all components