User Rating 0.0
Total Usage 0 times
0 / 500
#2D2B3D
#F6F4FF
Presets:
Preview typewriter
Is this tool helpful?

Your feedback helps us improve.

About

Text animation converts static strings into temporal sequences where each character ci receives a computed delay di = i × Δt. Getting timing wrong produces jittery, unreadable output that damages user perception within the first 200ms of exposure. This tool implements 15 distinct animation algorithms - from cubic-bezier eased fades to per-character trigonometric wave displacement - each parameterized by speed, direction, and iteration count. It renders in real-time DOM with hardware-accelerated CSS transforms.

The tool approximates continuous motion through discrete frame steps at 60fps. Particle effects use Euler integration with linear drag coefficient k = 0.98. Note: animations using sin-based displacement may produce visual aliasing on low-DPI screens below 96dpi. Pro Tip: keep animated strings under 80 characters for optimal readability during motion.

animate text text animation typewriter effect text effects CSS text animation glitch text wave text bounce text

Formulas

Each character ci in a string of length n receives an animation delay computed as:

delayi = i × baseDurationspeed

Wave displacement uses a sinusoidal function applied per-frame at time t:

yi(t) = A × sin(2π × f × t + i × φ)

Rainbow color cycling maps character index to hue angle:

hi(t) = (in × 360 + t × rate) mod 360

Particle physics applies Euler integration with drag per frame:

vt+1 = vt × k + g

Where A = amplitude in pixels, f = frequency in Hz, φ = phase offset per character, k = drag coefficient (0.98), g = gravity vector, speed = user multiplier (0.5 - 3.0), rate = hue rotation speed in °/frame.

Reference Data

AnimationTransform PropertyEasingPer-Char DelayBest For
Typewriteropacitystep-end80msHeadings, terminals
Fade In Upopacity, translateYease-out50msHero sections
Fade In Downopacity, translateYease-out50msSubtitles
Bounce Inopacity, scalecubic-bezier(0.68,-0.55,0.27,1.55)60msPlayful UI
Scale Upscale, opacityease-out40msEmphasis text
Rotate InrotateX, opacityease-out55ms3D feel headers
Slide LefttranslateX, opacityease-out45msNavigation items
Slide RighttranslateX, opacityease-out45msList entries
WavetranslateY via sincontinuous100ms phaseLooping banners
GlitchtranslateX, skewX, cliprandom steps70msCyberpunk, gaming
Rainbowcolor HSL cyclelinear30ms phaseCreative, kids
Blur Revealfilter: blur, opacityease-in-out60msCinematic reveals
ElasticscaleXcubic-bezier(0.68,-0.6,0.32,1.6)65msAttention-grabbing
Drop IntranslateY, opacitybounce70msGame scores
Flip InrotateY, opacityease-out55msCard reveals
Matrix Rainopacity, random charsstep-start40msHacker aesthetic

Frequently Asked Questions

Mobile GPUs prioritize battery over rendering throughput. Animations using filter: blur or box-shadow trigger full-layer repaint rather than compositor-only updates. This tool uses transform and opacity exclusively for per-character motion, which stays on the GPU compositor thread. If you still see jank, reduce character count below 40 or increase the speed multiplier to shorten total animation duration.
Total visible duration equals n × delay + charAnimDuration. For a 50-character string at 50ms delay with 400ms character transition, total runtime is 2900ms. The speed slider inversely scales the base delay, so at 2× speed, the same string completes in 1650ms.
Continuous animations like Wave and Rainbow use requestAnimationFrame loops. This tool cancels the previous frame ID before starting a new cycle and nullifies references on re-trigger. However, if you embed the exported CSS in a page with hundreds of animated elements, each running independent keyframe instances, compositor memory can grow. Keep looping animations to under 20 simultaneous elements.
Glitch applies random translateX offsets between −3 and 3px plus skewX distortion at random intervals, with clip-path slicing to simulate CRT artifacts. Matrix Rain replaces each character with random Unicode characters from the Katakana block (U+30A0 - U+30FF) at staggered intervals, converging to the target character after n iterations. Glitch distorts geometry; Matrix Rain distorts content.
The elastic easing uses a cubic-bezier approximation with overshooting control points: cubic-bezier(0.68, −0.6, 0.32, 1.6). The negative second value pulls the element backward before the forward motion, and the value exceeding 1.0 in the fourth parameter pushes it past the target before settling. This creates the characteristic spring-like overshoot without requiring JavaScript spring physics.
When prefers-reduced-motion: reduce is active, this tool replaces all transform-based character animations with a single whole-text opacity fade lasting 300ms. Continuous loops (Wave, Rainbow) are paused after one cycle. The user sees the final state without motion, satisfying WCAG 2.1 Success Criterion 2.3.3.