Overview
VaporSmokeText animates each character of your text from a blurred, scaled, and rotated hidden state into crisp, readable form — simulating vapor or smoke dissipating. Characters stagger sequentially for a cascading reveal effect, and the animation can be toggled programmatically.
Installation
Requires
framer-motion as a peer dependency.Usage
Props
The text content to animate. Each character animates individually with a staggered delay.
Controls the animation state.
true plays the reveal animation; false returns characters to the blurred, hidden state.Additional Tailwind or CSS classes applied to the container. Controls font family, size, color, and spacing. The component uses
font-serif italic on each character by default.Examples
Basic smoke reveal
Scroll-triggered reveal
Toggle-controlled animation
Features
Blur Dissolve
Characters transition from
blur(20px) to blur(0px), creating a realistic smoke dissipation effect.Staggered Entry
An 80ms stagger between characters produces a cascading wave rather than all letters animating at once.
Spring Physics
Scale, position, rotation, and blur all animate with spring damping for natural, organic motion.
Trigger Support
Fully controllable via the
trigger prop — reverse the animation on demand for interactive use cases.