Skip to main content

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

string
required
The text content to animate. Each character animates individually with a staggered delay.
boolean
default:"true"
Controls the animation state. true plays the reveal animation; false returns characters to the blurred, hidden state.
string
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.