How to bring your text to life? These 56 CSS and JavaScript text effects cover all modern techniques: gradient text, character animation, glitch effects, typewriter, scroll reveal and more. Each effect is optimized for performance and comes with its complete source code.

Gradient Flow

Animated Gradient

Gradient that moves through the text in a loop.

CSS Gradient Loop
Hello World

Typing Effect

Typing simulation with blinking cursor.

CSS Animation Typewriter
GLITCH

Glitch Effect

Cyberpunk-style digital distortion.

CSS Glitch Retro
Reveal

Slide Reveal

Text that appears from below. Click to replay.

CSS Reveal Scroll

Wave Effect

Each letter waves with a progressive delay.

CSS JS Wave
STROKE

Stroke Animation

Progressive fill of outlined text.

CSS Stroke Fill
POP

Shadow Pop

Shadow that grows on hover for a 3D effect.

CSS Hover 3D
Focus

Blur Reveal

Text that progressively unblurs. Click to replay.

CSS Blur Reveal
NEON

Neon Flicker

Neon effect with realistic flickering.

CSS Neon Glow
SPLIT

Split Color

Two-tone text with animated split.

CSS Color Split
NEON

Neon Flicker Text

Text with neon glow that flickers like a real sign.

CSS Neon Flicker
EXTRUDE

3D Extrude Text

Text with 3D extrusion effect on hover.

CSS 3D Hover
WEIGHT

Variable Font Weight

Font weight animation on hover.

CSS Hover Variable Font
SCRAMBLE

Scramble Text

Character scrambling effect on hover.

CSS JS Hover

Wave Animation V2

Wave animation with progressive delay per letter.

CSS Animation Wave
HIGHLIGHT

Highlight Marker

Highlighter effect that appears on hover.

CSS Hover Gradient
DEPTH

3D Shadow Depth

3D shadow with depth that extends on hover.

CSS 3D Hover

Flip Characters

Each character flips on hover.

CSS Hover 3D
OUTLINE

Outline to Fill

Outline text that fills in on hover.

CSS Hover Stroke
FLOW

Gradient Flow

Multicolor gradient that scrolls continuously.

CSS Gradient Loop
GLOW

Neon Glow

Luminous neon effect with flickering.

CSS Neon Glow
SHARP

Blur to Sharp

Blurred text that sharpens on hover.

CSS Hover Blur
SPACE

Letter Spacing

Letter spacing that expands on hover.

CSS Hover Spacing
REVEAL

Clip Path Reveal

Text that reveals progressively. Click to replay.

CSS Clip-path Reveal

Letter Fade In

Each letter fades in with a staggered delay for smooth reveal.

JS CSS Stagger

Letter Slide Up

Letters slide up from below one by one for a smooth entrance.

JS CSS Slide

Letter Rotate In

Letters rotate into view with a 3D flip effect.

JS CSS 3D

Word by Word

Words appear one at a time for dramatic text reveals.

JS CSS Words
DECODE

Scramble Text

Text scrambles through random characters then resolves like a decoder.

JS Decoder Matrix

Wave Animation

Letters wave up and down continuously with offset timing.

CSS Loop Wave

Bounce In Letters

Letters bounce in with elastic easing for playful animations.

JS CSS Elastic

Typewriter Delete

Types text, deletes it, then types new text in a cycle.

JS Typewriter Loop

Split Hover

Letters scatter on hover and reform when mouse leaves.

JS Hover Interactive

Gradient Letter Flow

Gradient color flows through each letter sequentially.

CSS Gradient Flow
SCATTER
Click to replay

Scatter to Word

Characters fly from random positions and assemble into a word on load or click.

JS Animation Transform
WAVE EFFECT

Wave Text

Each letter oscillates vertically with offset timing creating a continuous wave.

CSS Animation Wave
ELASTIC
Click to replay

Elastic Bounce Letters

Text stretches and bounces with spring physics on appearance.

CSS Spring Bounce
MAGNETIC
Move the mouse

Magnetic Cursor Text

Individual characters are attracted towards the cursor position.

JS Mouse Interactive
GRAVITY
Click to replay

Gravity Drop Text

Letters fall from above with gravity and bounce on the baseline.

JS Physics Gravity
VORTEX
Click to replay

Text Whirlpool

Characters orbit in a circular pattern then settle into readable text.

JS Animation Orbit
TYPEWRITER_

Typewriter Glitch

Classic typewriter with random glitch interruptions (character swaps, flickers).

JS Typewriter Glitch
BREATHE IN OUT

Breathing Text

Text subtly expands and contracts like breathing, staggered per word.

CSS Animation Scale
SHUFFLE
Click to replay

Text Shuffle Reveal

Characters rapidly cycle through random letters before locking into the correct one.

JS Decode Reveal
DEPTH
DEPTH
DEPTH
Move the mouse

Parallax Depth Text

Multi-layered text moving at different speeds on mouse movement, creating 3D depth.

JS Mouse Parallax
LIQUID
Hover over the letters

Liquid Stretch Text

Letters stretch like caramel on hover with elastic return.

CSS Hover Stretch
BOOM
Click to explode/reassemble

Text Explosion

Click to scatter characters with physics, click again to reassemble them.

JS Click Physics
Breathe font-weight: 300 ↔ 900

Weight Breathing

Text that "breathes" by oscillating between font-weight 300 and 900, with letter spacing adjustment.

CSS Variable Animation
DESIGN TYPO FONTS Hover over the words

Hover Weight

Words that transition from light to black on hover with smooth weight and spacing transition.

CSS Hover Weight
V A R I A B L E

Wave Animation

Weight wave flowing through each letter with staggered delay. Each character oscillates independently.

CSS Wave Stagger
Recursive CASL · MONO · wght
CASL 0→1 MONO 0→1 wght 400→900

Casual Morph

Recursive font morphing between its casual, mono and weight axes. Smooth transitions between 3 states.

CSS Recursive Multi-axes
SCROLL
Scroll ↓

Scroll Weight

Typographic weight linked to scroll via animation-timeline: scroll(). From 100 to 900 and back.

CSS Scroll Weight
$ npm install effect.labs const fx = new Effects(); $ fx.init({ theme: 'dark' })

Typewriter Variable

Typewriter effect with Recursive font in monospace mode and blinking cursor.

CSS Typewriter Mono
Fraunces WONK · SOFT · opsz · wght

Wonky Headlines

Fraunces font with animated WONK and SOFT axes. Smooth transition between display and text style.

CSS Fraunces Wonk
Displayopsz 144
Subheadingopsz 48
The optical size axis automatically adjusts typographic details based on display size.opsz 9

Optical Size

Demonstration of Fraunces opsz axis: details adapted to each size, from display to body text.

CSS opsz Typography
Recursive
wght 600
CASL 0
MONO 0.5

Interactive Axes

Control the wght, CASL and MONO axes of Recursive in real time with interactive sliders.

CSS JS Interactive
K I N E T I C
weight + transform + color

Kinetic Typography

Individually animated letters with weight, color and position variation. Controlled chaotic effect.

CSS Kinetic Stagger

Frequently Asked Questions

How to create a gradient text in CSS? +

Apply a background gradient, then use background-clip: text and -webkit-text-fill-color: transparent. The text becomes a mask for the gradient. Animate the background position for a motion effect.

How to create a typewriter effect in CSS? +

Use an animation that progressively increases the text width with overflow: hidden and white-space: nowrap. Add an animated border-right to simulate the cursor. For finer control, use JavaScript with a setInterval.

What impact do text animations have on SEO? +

CSS animations do not affect SEO because Google reads the HTML content, not the visual rendering. Make sure the text is present in the DOM (not generated by JavaScript) and remains readable once the animation ends.

How to animate each letter separately in CSS? +

The text splitting technique involves wrapping each character in a span, then applying an incremental animation-delay. En JavaScript : text.split('').map((char, i) => `${char}`).

How to create text that reveals on scroll? +

Combine IntersectionObserver with a CSS animation. When the element enters the viewport, add a class that triggers the animation (opacity, transform, clip-path). This is the technique used by modern websites like Apple.

Similar Categories