Interactive Reference

KINETIC

Animation & Effects Encyclopedia

70+ web effects — named, explained, and demonstrated live.
Hover, click, and scroll to learn them all.
Now with Lenis smooth scroll, SVG, and premium agency effects.

Scroll to explore
01

CSS Transitions

Smooth property changes between two states. Hover over each card to trigger the effect.

Hover me

Fade

Changes opacity from 0 to 1 (or vice versa). The most basic way to make elements appear/disappear smoothly.

opacity · transition
Hover me

Slide

Moves an element using transform: translateX/Y. Used for menus, panels, and reveal animations.

transform · translateX
Hover me

Scale

Grows or shrinks an element with transform: scale(). Great for hover effects on cards and buttons.

transform · scale
Hover me

Rotate

Spins an element using transform: rotate(). Can rotate on X, Y, or Z axis for 3D effects.

transform · rotate
Hover me

Skew

Shears an element diagonally with transform: skew(). Creates italic-like distortion.

transform · skew
Hover me

Color Transition

Smoothly changes background-color or color. Foundation of all hover color changes.

background-color · transition
Hover me

Border Radius Morph

Transitions border-radius to morph shapes — square to circle, blob shapes, etc.

border-radius · transition
02

CSS Keyframe Animations

Multi-step animations defined with @keyframes. These run automatically and can loop infinitely.

Bounce

Element bounces up and down with easing. Uses translateY with custom timing to simulate gravity.

@keyframes · translateY

Pulse

Rhythmic scaling that looks like breathing. Commonly used for notification badges and call-to-action buttons.

@keyframes · scale

Shake

Rapid horizontal jittering. Used for error states, form validation, and attention-grabbing UI.

@keyframes · translateX

Swing

Pendulum-like rotation from the top. Uses transform-origin: top center as the pivot point.

@keyframes · rotate · transform-origin
Front
Back

Flip

3D card flip on the Y axis. Uses perspective and rotateY(180deg) with backface-visibility.

perspective · rotateY · backface-visibility

Float

Gentle up-and-down hovering motion. Subtle and dreamy — used for hero illustrations and floating elements.

@keyframes · translateY · ease-in-out

Spin

Continuous 360° rotation. The classic loading spinner effect. Uses linear timing for constant speed.

@keyframes · rotate(360deg) · linear
03

CSS Visual Effects

Modern visual treatments and design styles that define contemporary web aesthetics.

Glass

Glassmorphism

Frosted glass look with backdrop-filter: blur(). Semi-transparent background + blur = glass. Used everywhere in modern UI.

backdrop-filter · blur · rgba

Neumorphism

Soft, extruded look using inset and outset shadows on similar-colored backgrounds. Looks like pressed clay.

box-shadow · inset · light/dark shadows

Gradient Animation

Shifting, animated multi-color gradients. Uses oversized background-size and animates background-position.

linear-gradient · background-size · animation
Hover me

Layered Box Shadows

Stacking multiple box-shadow values creates realistic depth and elevation. Key to Material Design and modern cards.

box-shadow · multiple values
Hover me

Clip-Path Shapes

Masks elements into custom shapes using clip-path. Can create circles, polygons, and complex SVG paths.

clip-path · polygon · circle
Hover me

CSS Filters

Image-like processing: blur(), brightness(), contrast(), hue-rotate(), saturate(). Like Instagram filters in CSS.

filter · blur · hue-rotate · saturate

Mix-Blend-Mode

Blends overlapping elements like Photoshop layers. Modes: multiply, screen, overlay, difference.

mix-blend-mode · multiply · screen
04

Text Effects

Typography-focused animations and visual treatments that make text come alive.

Typewriter Effect

Typewriter

Characters appear one by one with a blinking cursor. Uses steps() timing or JS interval to reveal each character.

steps() · overflow · border-right
GLITCH

Glitch Text

Digital corruption effect using ::before and ::after pseudo-elements with clip-path offset. Cyberpunk vibes.

clip-path · pseudo-elements · animation
NEON

Neon Glow

Glowing text with pulsing luminance. Stacks multiple text-shadow values with increasing blur radius.

text-shadow · animation · multiple shadows
GRADIENT

Text Gradient

Color gradient applied to text using background-clip: text with -webkit-text-fill-color: transparent.

background-clip · text · linear-gradient
SPLIT

Split Text Reveal

Each letter animates in individually with staggered delay. Foundation of premium text reveal animations in GSAP.

animation-delay · var(--i) · stagger
DECODED

Scramble / Decode

Random characters cycle before resolving to the final text. Matrix / hacker aesthetic. Done with JS intervals.

JavaScript · setInterval · random chars
STROKE

Stroke Animation

SVG text outline draws in progressively. Uses stroke-dasharray and stroke-dashoffset animation.

SVG · stroke-dasharray · stroke-dashoffset
05

Scroll Animations

Effects triggered by scrolling. Powered by GSAP ScrollTrigger — the industry standard for scroll animation.

I fade in when scrolled into view

Fade In On Scroll

Element goes from invisible to visible as it enters the viewport. The most common scroll animation.

ScrollTrigger · opacity · fromTo

Parallax

Background layers move at different speeds than foreground, creating depth illusion. Scroll-linked movement.

ScrollTrigger · scrub · different speeds

Stagger Reveal

Multiple elements animate in with sequential delay. Creates a cascade/wave effect. GSAP's stagger property.

gsap.from · stagger · ScrollTrigger
I grow as you scroll

Scale On Scroll

Element grows or shrinks proportional to scroll position. Uses scrub: true for scroll-linked animation.

ScrollTrigger · scrub · scale
Revealed by scroll

Text Clip Reveal

Text slides up from behind a mask/clip as the user scrolls. Used on premium agency websites for elegant reveals.

overflow: hidden · translateY · ScrollTrigger
Scroll progress

Scroll Progress Bar

Visual indicator of how far the user has scrolled. Width or height grows from 0% to 100% based on scroll position.

ScrollTrigger · scaleX · scrub
0 Scroll to count

Number Counter

Numbers count up from 0 when scrolled into view. Common on stats/achievement sections. JS-driven animation.

ScrollTrigger · onUpdate · number formatting
06

Cursor & Mouse Effects

Interactive effects driven by mouse position. Move your cursor inside each demo area.

Move your mouse here

Custom Cursor

Replaces the default arrow with a custom-designed cursor (dot + ring). Uses mousemove to position a div at cursor coords.

mousemove · position: fixed · pointer-events: none

Mouse Trail / Follow

Elements trail behind the cursor with decreasing speed. Each follower uses progressively more lerp (linear interpolation).

mousemove · lerp · requestAnimationFrame

Magnetic Button

Button pulls toward the cursor when nearby. Calculates distance and applies proportional translate. Premium interaction.

mousemove · distance calc · transform
Tilt Card

Tilt / 3D Perspective

Card rotates in 3D based on mouse position. Uses perspective + rotateX/Y calculated from cursor offset.

perspective · rotateX · rotateY · mousemove
Click me

Ripple Effect

Expanding circle from the click point. Material Design signature. Creates a span at click coords with scale animation.

click event · scale · position · border-radius
Hidden content revealed by your cursor. Move your mouse around to discover the secret text!

Spotlight / Reveal

Mouse reveals hidden content beneath a dark overlay. Uses radial-gradient mask that follows the cursor position.

radial-gradient · mask · mousemove
07

Micro-Interactions

Small, satisfying interactive elements that make UI feel polished. The details that separate good from great.

Animated Underline

Underline slides in from left on hover using ::after pseudo-element with scaleX transform.

::after · scaleX · transform-origin

Button Press

3D push effect on click using translateY and box-shadow changes. Feels like pressing a physical button.

:active · translateY · box-shadow

Toggle Switch

Animated on/off toggle. Uses a hidden checkbox + styled ::before pseudo that slides with translateX.

checkbox hack · ::before · translateX

Loading Spinners

Various loading indicators: spinning ring (border), bouncing dots, equalizer bars. Each uses different keyframe techniques.

border · @keyframes · animation-delay
Hover for tooltip

Tooltip

Info popup that appears on hover. Uses ::after for content from data-tooltip attribute, ::before for the arrow.

::after · attr() · data-tooltip · opacity

This content smoothly expands using max-height and transition. The key trick is transitioning to a large max-height value.

Accordion

Smooth expand/collapse panel. Transitions max-height from 0 to a set value. Classic FAQ and menu pattern.

max-height · overflow: hidden · transition
08

3D & WebGL

Advanced 3D effects rendered in the browser using Three.js and WebGL. GPU-accelerated real-time graphics.

Glass Refraction

Transparent 3D sphere that refracts/distorts what's behind it. Uses Three.js MeshPhysicalMaterial with transmission and ior.

Three.js · MeshPhysicalMaterial · transmission · ior

Particle Field

Thousands of floating 3D points creating an atmospheric field. Uses Points geometry with custom vertex positions and mouse interaction.

Three.js · Points · BufferGeometry · PointsMaterial

Mesh Distortion

3D geometry warps and deforms with perlin-noise displacement. Vertices are animated per-frame for organic, fluid motion.

Three.js · vertex displacement · noise · geometry
09

SVG Animations

Scalable Vector Graphics unlock path animations, shape morphing, and line drawing effects impossible with regular HTML.

SVG Path Drawing

Paths appear to "draw" themselves using stroke-dasharray and stroke-dashoffset. Set dasharray to path length, then animate offset from length to 0.

SVG path · stroke-dasharray · stroke-dashoffset

SVG Morphing

Shape smoothly transforms into another shape by animating the d attribute between two SVG path definitions. GSAP MorphSVG or CSS can do this.

SVG path d · @keyframes · CSS animation

SVG Line Animation

Individual SVG lines animate in with staggered delays. Each line uses its own stroke-dasharray animation with a calc()-based delay.

SVG line · stagger · animation-delay · calc()
REVEAL

SVG Clip-Path Reveal

Content revealed through an expanding SVG clipPath. The clip shape (circle, polygon) animates from small to full, revealing content beneath.

SVG clipPath · circle r · animation

SVG Gooey Effect (feGaussianBlur)

The "gooey" / metaball effect. SVG filter combines feGaussianBlur + feColorMatrix to make shapes merge fluidly when they overlap.

SVG filter · feGaussianBlur · feColorMatrix
10

Premium Scroll Effects

The advanced scroll techniques you see on award-winning agency sites. Powered by Lenis + GSAP ScrollTrigger.

↕ Scroll this page — feel how butter-smooth it is!

Lenis Smooth Scroll

Replaces default browser scroll with buttery-smooth momentum scrolling. Lenis is the industry standard library used by top agencies (Locomotive Scroll alternative).

Lenis · smooth scroll · lerp · momentum
Panel 1
Panel 2
Panel 3
Panel 4

Horizontal Scroll

Vertical scroll drives horizontal movement. Uses GSAP pin + scrub to translate a container sideways as the user scrolls down.

ScrollTrigger · pin · scrub · translateX
Scroll to transform

Pin & Scrub

Element "pins" in place while scroll controls its animation. pin: true sticks the element, scrub: true links animation to scroll position.

ScrollTrigger · pin: true · scrub · timeline
SPEED · VELOCITY · MOMENTUM · KINETIC · ENERGY · SPEED · VELOCITY · MOMENTUM · KINETIC · ENERGY ·

Scroll Velocity Text

Text scrolls horizontally and its speed increases based on scroll velocity. Faster you scroll = faster the text moves. Seen on premium portfolio sites.

ScrollTrigger · velocity · translateX · skew
Snap 1
Snap 2
Snap 3

CSS Scroll Snap

Native CSS-only snapping. Scroll stops lock to defined points. Uses scroll-snap-type on parent and scroll-snap-align on children. No JS needed.

scroll-snap-type · scroll-snap-align · mandatory
11

Advanced Techniques

The finishing touches that separate a good site from an award-winner. Noise, marquees, reveals, and more.

MARQUEE ✦ INFINITE SCROLL ✦ TICKER ✦ CONTINUOUS ✦ MARQUEE ✦ INFINITE SCROLL ✦ TICKER ✦ CONTINUOUS ✦

Marquee / Infinite Ticker

Continuously scrolling text that loops seamlessly. Uses two identical copies side-by-side, animating translateX(-50%) to create the infinite loop illusion.

translateX · @keyframes · duplicate content · infinite
REVEALED

Mask Reveal

Content revealed by a sliding mask/wipe. An overlay div with scaleX animation slides away to reveal content underneath. Used for image & text reveals.

scaleX · transform-origin · overflow: hidden
MASKED

Text Masking / Clipping

Animated background visible only through text shape. Uses background-clip: text with a moving gradient or video behind the text cutout.

background-clip: text · moving gradient · animation
Film Grain Overlay

Noise / Film Grain

Subtle noise texture overlay that adds organic film-like quality. Uses a CSS background-image with a tiny noise pattern, rapidly repositioned via keyframes.

SVG noise · background · animation · opacity
Layer 1
Layer 2
Layer 3

Stacking Cards

Cards stack on top of each other with slight offset as you scroll. Uses position: sticky with incremented top values for each card.

position: sticky · top · z-index · scale
Drag me

Elastic / Spring Physics

Elements snap back with a springy, elastic motion. Uses spring physics: stiffness, damping, and mass parameters for organic feel.

spring physics · stiffness · damping · requestAnimationFrame
Move mouse fast!

Velocity Cursor Stretch

Cursor stretches/squashes based on movement speed. Calculates velocity between frames and applies scaleX/Y accordingly. Premium agency detail.

mousemove · velocity · scaleX · scaleY · rotation
12

Ultra-Premium Effects

The $10K+ agency tricks. These are the effects that make Awwwards winners stand out from the rest.

Every word fills with color as you scroll through this section.

Scroll-Driven Text Fill (Apple-Style)

Each word transitions from dim to bright as scroll progresses. Apple’s product pages use this constantly. Each word has its own scroll-linked opacity controlled by ScrollTrigger.

ScrollTrigger · scrub · per-word opacity · stagger
Move your mouse around

Cursor Image Trail

Images spawn along the cursor path and fade out. Premium portfolio sites use this to reveal work samples as the user explores. Each image fades + scales out after spawning.

mousemove · createElement · opacity · requestAnimationFrame
KINETIC • ANIMATION • EFFECTS • ENCYCLOPEDIA •
K

Rotating Circular Text

Text arranged in a circle that rotates continuously. Uses SVG textPath on a circular path. Common for badges, stamps, and premium branding elements.

SVG textPath · rotation · animation · circular path
BEFORE
AFTER

Before / After Slider

Draggable comparison slider reveals two overlapping layers. Uses clip-path or overflow on the split point, driven by mouse X position. Used for image comparisons.

mousemove · clip-path · drag · overflow: hidden

Gradient Mesh Background

Apple-style multi-color gradient background with organic movement. Multiple blurred circles overlap and animate, creating a living gradient mesh. Uses filter: blur().

radial-gradient · filter: blur · animation · mix-blend-mode
13

Motion Design

The art of animation timing, choreography, and physics. These effects feel alive because of how they move.

Premium websites reveal text character by character as you scroll, creating a cinematic reading experience.

Character-by-Character Scroll Reveal

Each character fades in individually tied to scroll position. Creates a "reading with you" effect. Each span gets its own scroll-linked animation via ScrollTrigger.

ScrollTrigger · per-char · scrub · split text

Cursor-Reactive Grid

Grid tiles light up, scale, or push away based on cursor proximity. Each tile calculates its distance to cursor and reacts proportionally. Used for interactive backgrounds.

mousemove · distance calc · grid · CSS custom properties
75%

Animated Circular Progress

Ring fills up proportionally using SVG stroke-dashoffset on a circle. stroke-dasharray = circumference, animate offset from full to target. Dashboard essential.

SVG circle · stroke-dasharray · stroke-dashoffset · animation
0
0
0
0
:
0
0
0
0

Flip Clock / Counter

Mechanical flip-clock style digits that flip to reveal new numbers. Each digit has a top/bottom half with rotateX perspective flipping. Retro-premium feel.

perspective · rotateX · backface-visibility · overflow: hidden
LEFT PANEL SCROLLS UP
RIGHT PANEL SCROLLS DOWN

Split-Screen Parallax

Two halves of the screen scroll in opposite directions (one up, one down). Creates dramatic visual tension. Uses CSS animation on each panel with opposite translateY directions.

split layout · translateY · opposite directions · parallax
UNVEIL

Curtain / Wipe Reveal

A colored curtain slides across, revealing content behind it. Two-phase animation: curtain enters from left, then exits to right. Used for section transitions.

scaleX · transform-origin · animation-delay · z-index
14

Elite Agency Effects

The final frontier. Effects that separate $50K agency builds from everything else. Interactive, immersive, unforgettable.

Animated Border

Animated Gradient Border

A rotating gradient that flows around the card's border. Uses background on a pseudo-element with conic-gradient that spins via @keyframes. Inner content masks the center.

conic-gradient · @keyframes rotate · pseudo-element · mask
Move cursor

Cursor Follower Blob

A large, blurred, softly-colored circle that lazily follows the cursor with elastic easing. Creates an ambient, living background effect. Uses lerp for smooth interpolation.

mousemove · lerp · filter: blur · requestAnimationFrame

Skeleton Loading Screen

Gray placeholder shapes with a shimmering light sweep that indicates content is loading. The shimmer uses a linear-gradient animated across via background-position.

linear-gradient · background-position · animation · placeholder UI
Click me

Animated Hamburger Menu

Three lines morph into an X (close icon) on click. Each line uses independent transform transitions — top/bottom rotate ±45°, middle fades. Ubiquitous on mobile nav.

transform · rotate · opacity · transition · toggle class
M A G N E T

Magnetic Text Repulsion

Individual characters push away from the cursor based on proximity. Each calculates its distance and applies a proportional translate. Resets smoothly when cursor leaves.

mousemove · per-char translate · distance calc · transition
0%

Page Preloader / Loading Bar

A smooth progress bar that fills to 100% before the page reveals. Premium sites use this to mask asset loading. Uses width animation with counter increment.

width animation · counter-increment · opacity transition · preload

Scroll Progress Dots

Fixed side-navigation dots that indicate current scroll section and allow click-to-jump. Active dot scales up and changes color. Found on one-page portfolio sites.

position: fixed · IntersectionObserver · scroll-to · active state
15

Next-Level Techniques

The bleeding edge. Techniques that will define the next generation of web experiences. Master these and you're ahead of 99% of developers.

Hover Image Zoom / Magnify

Image zooms into cursor position on hover, like a magnifying glass. Uses transform-origin set to cursor position + scale on hover. E-commerce essential.

mousemove · transform-origin · scale · overflow: hidden
W A V E

Kinetic Typography

Text characters move with physics — they wave, bounce, or follow cursor with spring dynamics. Each character is an independent element with its own animation delay and response.

per-char animation · spring physics · mousemove · delay stagger
WEIGHT

Variable Font Animation

Font weight and width change dynamically based on cursor position or scroll. Variable fonts support continuous weight values via font-variation-settings. Ultra-modern typography.

font-variation-settings · wght axis · mousemove · continuous values
Header
Body text here

Smooth Color Theme Transition

Dark/light mode switch with smooth CSS transitions on all color properties. Uses CSS custom properties that transition via color-mix or animated background. System pref aware.

CSS custom properties · transition · prefers-color-scheme · toggle
Panel One Content
Panel Two Content
Panel Three Content

Animated Tabs with Sliding Indicator

Tab buttons with a sliding underline that glides between them. Content cross-fades. The indicator uses translateX calculated from active tab's position.

translateX · getBoundingClientRect · transition · opacity crossfade
Hover Effect

Liquid Fill Hover

Button fills with color from the cursor's entry direction, like liquid rising. Uses a radial-gradient expanding from the hover point via CSS custom properties set by JS.

radial-gradient · custom properties · mousemove · scale transition
16

Uncharted Integrations

Vector animations, simulations, and routing tricks extending beyond standard DOM and CSS.

Vector Timeline Animation

Renders complex AfterEffects animations using JSON and lottie-web. Resolution independent and programmable.

Lottie · bodymovin · SVG rendering
LOADING...

Seamless Page Transition

Simulates a modern SPA route transition (like Barba.js). A colored block wipes the viewport before the new page renders.

GSAP Timeline · scaleY · transform-origin

Interactive Ambient Fluid

A particle-based ambient fluid simulation running continuously. Reacts dynamically to mouse proximity and velocity forces.

HTML5 Canvas · requestAnimationFrame · repel physics
MASK

Video Scroll Mask Reveal

Text scales up on scroll until it breaks the viewport, revealing a video playing beneath it using mix-blend-mode techniques.

mix-blend-mode: multiply · ScrollTrigger · scale