Kinetic Typography
Vapor Condense
300 teal particles drift as a glowing haze then gradually condense into the crisp word VAPOR via cosine easing, then dissolve back — looping continuously.
canvasheavy complexitymoderate motionclickmobile-ready
Open on the canvas to copy the code → Free account · 3 copies a day · membership goes unlimited
1
When to use it
Dark-mode hero sections, loading screens, or ambient brand reveals where a word needs to emerge from atmospheric noise.
When not to
Long words that exceed canvas width. Contexts requiring fast legibility — the condense phase takes half the cycle.
Working with an AI agent
Every component ships agent-ready metadata. An example instruction for this one:
Change WORD to "DREAM", increase N to 450, and shift the teal palette by setting r/g/b base to rgba(120,80,220) in the color calculation. Theme: dark tokens live in :root, the light variant in :root[data-theme="light"]; ?theme=light or a {type:'forever:theme'} postMessage switches at runtime.
Safe to edit
- word content (WORD constant)
- particle count (N=300)
- cycle speed (t += 0.0052)
- drift spread (drift=18*scale)
- color teal base (r/g/b formula in frame loop)
- theme tokens (:root dark defaults + [data-theme=light] overrides)
Keep intact
- offscreen word sampling only after positive element layout; ResizeObserver repaint; zero-size mounts sleep
- visibilitychange pause/start
- prefers-reduced-motion static frame
- IIFE wrapper
- theme hook (?theme= bootstrap + forever:theme message listener + theme tokens)
- demo-v1 preview lifecycle: initialize demoEnabled from window.__foreverPreview and stop attract work on the window forever:interactive event; retain manual feedback, settling, cleanup and explicit sessions
- Enter/Space activation and visible focus; manual word/geometry changes finish before the renderer sleeps
Known limitations
- Word-mask shapes depend on the available local monospace font.
- Click switches between haze and condensed word; pointer nudge remains subtle.
- Canvas aria-label names activation; update it when adapting the word.
- State remains local to each mounted instance; format/theme remount preserves takeover, not component values.
More Kinetic Typography components
- Weight Morph WaveEach letter of a word pulses font-weight and vertical scale in a staggered sine wave, shifting hue from cyan to blue.
- Scramble DecodeNeon-green monospace words scramble through random glyphs then lock left-to-right like a terminal decrypting. Auto-cycles; click skips to next word.
- Split-Flap BoardSix amber tiles cycle through letters to spell airport-style words (DEPART, ARRIVE, ONTIME, BOARDS) on a dark charcoal background with a rotateX flip…
- Gradient ShimmerBold "SHIMMER" text with a rainbow gradient clipped to the letterforms, continuously panning for a glossy iridescent sweep on deep umber.
- Glitch RGB SplitRed and cyan pseudo-element copies of GLITCH drift and randomly snap with clipped displacement, simulating a CRT RGB-split glitch on near-black.
- Marquee TickerTwo rows of bold words scroll in opposite directions — yellow left, teal right — with red bullet separators on a dark green background, news-ticker style.