Animation & Motion snippets

CSS animation snippets: transitions, keyframes, scroll-driven animations, and spinners. Every snippet includes a live demo, copyable CSS, and an LLM-ready prompt.

Widely supported

3D cube

3D cube snippet with a live demo, copyable CSS, and implementation prompt.

no-js
Widely supported

3D flip card

3D flip card snippet with a live demo, copyable CSS, and implementation prompt.

no-js
Widely supported

3D perspective tilt

3D perspective tilt snippet with a live demo, copyable CSS, and implementation prompt.

no-js
Widely supported

Animated gradient background

A smooth color-shifting gradient background using oversized background-size and animated background-position.

colorno-js
Widely supported

Arrow move

Arrow move snippet with a live demo, copyable CSS, and implementation prompt.

no-js
Widely supported

Background fill

Hover effect that fills an element's background from left to right using a pseudo-element transition. Pure CSS, keyboard-accessible.

no-js
New

Bezier curve path

Move an element along a custom cubic bezier curve using CSS offset-path, with the element rotating to face its direction of travel.

no-js
Widely supported

Blur in

A CSS blur-in entrance animation using filter blur and opacity for a smooth focus-reveal effect.

no-js
Widely supported

Blur reveal

A CSS blur reveal effect. Content starts blurred and sharpens on hover using filter: blur() with a smooth transition — no JavaScript.

no-js
Widely supported

Border draw

A CSS border draw effect. The border traces itself on hover using pseudo-elements and scaleX/scaleY transitions — no JavaScript.

no-js
New

Bounce Easing

Modern CSS bounce easing using the linear() function for realistic drop and bounce animations.

no-js
Widely supported

Bounce in

A CSS bounce-in entrance animation with elastic easing for playful, attention-grabbing element reveals.

no-js
Widely supported

Bounce

A CSS keyframe bounce animation. Continuous or one-shot, with prefers-reduced-motion support. Copy and go.

no-js
Widely supported

Breathe

A slow CSS scale animation that mimics a breathing rhythm — gentle expand and contract for calm, ambient UI elements.

no-js
Widely supported

Circle path

Animate an element along a circular orbit using CSS offset-path. A planet-style motion path with pure CSS — no JavaScript.

no-js
Widely supported

Clip-path reveal

A CSS clip-path reveal animation that unveils elements with geometric shapes like circles and polygons.

no-js
Widely supported

Color shift

A CSS color shift effect. Smoothly transitions background color on hover using oklch() values — no JavaScript.

no-jscolor
Widely supported

Counter animation

Animate a numeric counter in pure CSS using a digit roller (translateY + steps()). Great for stats, dashboards, and loading states—no JavaScript.

no-js
Widely supported

cubic-bezier custom easing

Create custom animation timing curves with cubic-bezier(). Go beyond ease-in and ease-out with precise control over acceleration.

no-js
Widely supported

Drop in

Drop in snippet with a live demo, copyable CSS, and implementation prompt.

no-js
Widely supported

Expand/grow

Expand/grow snippet with a live demo, copyable CSS, and implementation prompt.

no-js
New

Fade in entrance

CSS-only fade-in animation with @starting-style for element entry.

no-js
Widely supported

Flash

A CSS keyframe flash animation — rapid opacity blinks for alerts, notifications, and attention-grabbing UI moments.

no-js
Widely supported

Flip in

A CSS flip-in entrance animation using rotateX or rotateY with perspective for a 3D card-flip reveal.

no-js
Widely supported

Flip reveal

Flip reveal snippet with a live demo, copyable CSS, and implementation prompt.

no-js
Widely supported

Float

Gentle floating animation using CSS keyframes with translateY, like a UI element hovering in space.

no-js
Widely supported

Glow effect

Hover-triggered neon glow effect using box-shadow and text-shadow with oklch() colors. Smooth transition, keyboard-accessible, no JavaScript.

color
Widely supported

Gradient shift

Gradient shift snippet with a live demo, copyable CSS, and implementation prompt.

no-js
Widely supported

Heartbeat

A CSS keyframe heartbeat animation — a scale pulse that mimics a heartbeat rhythm for icons and notification badges.

no-js
Widely supported

Icon slide

A CSS icon slide effect — an arrow icon shifts right on hover using transform: translateX. No JavaScript. Copy and go.

no-jsui
Widely supported

Individual transform properties

Individual transform properties snippet with a live demo, copyable CSS, and implementation prompt.

no-js
Widely supported

Jello

A CSS keyframe jello effect — alternating scaleX/scaleY to simulate a gelatinous squish for playful UI feedback.

no-js
Widely supported

Lift with shadow

A hover effect that lifts an element upward and deepens its shadow. Perfect for cards, buttons, and interactive surfaces.

no-js
New

linear() multi-point easing

Create custom easing curves with the linear() function — multi-point timing for bounce, elastic, and spring-like animations.

no-js
Widely supported

Magnetic hover

Magnetic hover snippet with a live demo, copyable CSS, and implementation prompt.

no-js
Widely supported

Marquee

CSS-only infinite scrolling ticker using animation and translateX with no JavaScript required.

no-js
Widely supported

Mask reveal

Reveal an element with a soft edge using CSS masks. Animate mask-position and mask-size for a modern wipe effect, with a reduced-motion fallback.

no-js
Widely supported

Morphing shape

Morphing shape snippet with a live demo, copyable CSS, and implementation prompt.

no-js
New

Orbit path

Make an element orbit in a perfect circle using CSS offset-path with a circle() shape, no transform tricks needed.

no-js
Widely supported

Page fade transition

A smooth page fade-in and fade-out effect using CSS View Transitions API. The native way to animate between page states.

view-transitions
Widely supported

Parallax layers

Parallax layers snippet with a live demo, copyable CSS, and implementation prompt.

no-js
Widely supported

Perspective tilt on hover

Perspective tilt on hover snippet with a live demo, copyable CSS, and implementation prompt.

no-js
Widely supported

Pulse

A CSS pulse animation that scales an element up and back. Great for notification dots, live indicators, and attention cues.

no-js
Widely supported

Rotate gallery

Rotate gallery snippet with a live demo, copyable CSS, and implementation prompt.

no-js
Widely supported

Rotate in

A CSS rotate-in entrance animation combining rotation and opacity for dramatic element reveals.

no-js
Widely supported

Rotate

Rotate snippet with a live demo, copyable CSS, and implementation prompt.

no-js
Widely supported

Rubber Band

A CSS keyframe rubber band animation featuring elastic scale3d() stretch and snap-back effects.

no-js
Widely supported

Scale card interaction

Scale card interaction snippet with a live demo, copyable CSS, and implementation prompt.

no-js
Widely supported

Scale in

A CSS scale-in entrance animation using transform scale and opacity for elegant element reveals.

no-js
Widely supported

Scale on hover

A smooth scale-up effect on hover using CSS transform and transition. Works on cards, images, buttons, and any element.

no-js
Widely supported

Scroll progress bar

Scroll-driven reading indicator with animation-timeline: scroll().

no-js
Widely supported

Shadow grow

A CSS shadow grow effect. A card's box-shadow intensifies on hover with a smooth transition — no JavaScript.

no-js
Widely supported

Shake

CSS keyframe animation that shakes an element horizontally for error feedback.

no-js
Widely supported

Shine/gloss sweep

Shine/gloss sweep snippet with a live demo, copyable CSS, and implementation prompt.

no-js
Widely supported

Skew banner

Skew banner snippet with a live demo, copyable CSS, and implementation prompt.

no-js
Widely supported

Slide left

A CSS slide-left entrance animation using translateX and opacity for smooth element reveals. (under 160 chars)

no-js
Widely supported

Slide right

A CSS slide-right entrance animation using translateX and opacity for smooth element reveals.

no-js
Widely supported

Slide-up

Entry animation that slides an element up from below with a fade-in. Uses @keyframes with transform and opacity for smooth GPU compositing.

no-js
Widely supported

Spin

A continuous 360° rotation animation. Perfect for loading spinners and refresh indicators. Two lines of CSS.

no-js
Widely supported

CSS loading spinner

A pure CSS loading spinner using keyframes and border, with prefers-reduced-motion support.

ui
Widely supported

Spring easing

Simulate spring physics with CSS linear() easing — multi-point curves that bounce and settle like a real spring.

no-js
Widely supported

Squish/press

Squish/press snippet with a live demo, copyable CSS, and implementation prompt.

no-js
Widely supported

Staggered entrance

CSS staggered entrance animation using animation-delay and custom properties for sequential element reveals.

no-js
Widely supported

@starting-style entrance

@starting-style entrance snippet with a live demo, copyable CSS, and implementation prompt.

no-js
Widely supported

Steps easing comparison

Compare CSS steps() easing values side by side — steps(4), steps(8), steps(12), steps(1, jump-both), and linear. Copy and go.

no-js
Widely supported

Steps Easing

CSS steps() easing for frame-by-frame animations — tick clocks, sprite sheets, and typewriter effects without JavaScript.

no-js
New

SVG path follow

Make a CSS element follow an arbitrary SVG path exactly, using offset-path with a path() definition extracted from SVG.

no-js
Widely supported

Swing

A CSS keyframe swing animation — a pendulum-style rotation around the top center for icons and hanging elements.

no-js
Widely supported

Tada

A CSS-only tada animation — a playful scale-and-rotate attention grabber. Copy and go.

no-js
Widely supported

Tilt/perspective

A CSS tilt/perspective hover effect. A card rotates in 3D on hover using perspective() and rotateX/rotateY transforms — no JavaScript.

no-js
Widely supported

Translate carousel

Translate carousel snippet with a live demo, copyable CSS, and implementation prompt.

no-js
Widely supported

Typewriter text

A pure CSS typewriter text animation using steps() timing and a blinking cursor with border-right.

typographyno-js
Widely supported

Underline slide in

An animated underline that slides in from left on hover using a pseudo-element and scaleX transform. Perfect for navigation links.

no-js
New

Wave path

Animate an element along a wave-shaped path using CSS offset-path with an SVG path definition.

no-js
Widely supported

Wave

A CSS wave animation using sequential staggered translateY on a row of elements to create a flowing ripple effect.

no-js
Widely supported

Wobble

A CSS keyframe wobble animation — a rotation-based attention effect for UI feedback.

no-js
Widely Supported

Multi-property transition

Transition multiple CSS properties simultaneously, each with its own duration and easing — no JavaScript required.

animationno-js
Widely Supported

Timing function comparison

Compare CSS easing functions side by side — ease, ease-in, ease-out, ease-in-out, linear, and cubic-bezier in a live animated demo.

animationno-js
New

Entry/exit transition

Smooth entrance and exit animations using @starting-style and transition-behavior for bidirectional transitions.

animationno-js