An interactive glossary

The Vocabulary of Motion

Every term in UI animation — shown as a live demo where it moves, defined where it's a concept, with the code behind each one.

Vocabulary & definitions adapted from animations.dev · built with Framer Motion

Enter/Exit

Fade

An element appears or disappears by changing opacity.

Enter/Exit

Slide in

An element enters by sliding in from off-screen.

Enter/Exit

Scale in

An element grows from smaller to full size, often paired with a fade.

Enter/Exit

Pop in

An element appears with a slight overshoot, like it bounces into place.

Enter/Exit
Revealed

Reveal

Content is uncovered gradually, often by animating a clip-path or mask.

Enter/Exit

Enter / Exit

The animation an element plays when it's added to or removed from the screen.

— interactive, try it above
Timing

Stagger

Animate several items one after another with a small delay between each.

Timing

Orchestration

Deliberately timing multiple animations so they feel like one coordinated motion.

Timing
0.4s
1.6s

Duration

How long an animation takes.

Timing
no delay
0.8s delay

Delay

Time before an animation starts.

Timing
0%50%100%

Keyframes

Defined points in an animation (0%, 50%, 100%) that the browser fills the gaps between.

— interactive, try it above
Timing
concept

Interpolation / Tween

Generating all the in-between frames between a start and end value, so motion is continuous.

Timing
concept

Fill mode

Whether an element keeps its first or last frame's styles before and after the animation runs.

Timing
jumps in discrete steps

Stepped animation

An animation divided into discrete steps, like a clock's second hand or a countdown.

— interactive, try it above
Easing
ease-out
ease-in
ease-in-out
linear

Easing

The rate at which an animation speeds up or slows down.

— interactive, try it above
Easing
starts fast, ends slow

Ease-out

Starts fast, ends slow. The default for most UI and anything responding to the user.

— interactive, try it above
Easing
starts slow, ends fast

Ease-in

Starts slow, ends fast. Usually avoided for UI; can feel sluggish.

— interactive, try it above
Easing
slow · fast · slow

Ease-in-out

Slow, fast, slow. Good for elements already on screen moving from A to B.

— interactive, try it above
Easing
constant speed

Linear

Constant speed. Avoid for UI; reserve for spinners or marquees.

— interactive, try it above
Easing

Cubic-bezier

A custom easing curve you define for precise control — here, an overshoot.

— interactive, try it above
Easing
slow build · sharp finish

Asymmetric easing

A curve that accelerates and decelerates at different rates.

— interactive, try it above
Spring

Spring

Motion driven by physics — stiffness, damping, mass — instead of a fixed duration.

— interactive, try it above
Spring
low
high

Stiffness / Tension

How strongly the spring pulls toward its target. Higher feels snappier.

— interactive, try it above
Spring
low (bouncy)
high

Damping

How quickly a spring settles. Lower damping means more bounce and oscillation.

— interactive, try it above
Spring
light
heavy

Mass

How heavy the animated element feels. More mass makes it slower.

— interactive, try it above
Spring

Bounce

A spring that overshoots and settles, adding playfulness.

Spring
click anywhere — redirect mid-flight

Interruptible

An animation that can be smoothly redirected mid-flight instead of finishing first.

— interactive, try it above
Spring
concept

Perceptual duration

How long a spring feels finished, even though it keeps micro-settling.

Spring
concept

Momentum

Motion that carries velocity, especially after a drag or interruption.

Spring
concept

Velocity

How fast and in which direction an element is moving.

Transforms

Translate

Move an element along the X or Y axis.

— interactive, try it above
Transforms

Scale

Make an element bigger or smaller.

— interactive, try it above
Transforms

Rotate

Spin an element around a point.

— interactive, try it above
Transforms

Skew

Slant an element along the X or Y axis, shearing it out of its rectangle.

— interactive, try it above
Transforms
hover me

3D tilt / Flip

Rotate in 3D space (rotateX / rotateY) under a perspective to add depth.

— interactive, try it above
Transforms
far (1000)
near (250)

Perspective

How strong the 3D effect looks — a lower value exaggerates depth.

— interactive, try it above
Transforms
center
top-left

Transform origin

The anchor point a scale or rotation grows or spins from.

— interactive, try it above
Transforms
grows from the trigger, not its center

Origin-aware animation

Elements animate from their trigger rather than from their own center.

— interactive, try it above
Transitions

Layout animation

When an element's size or position changes, it animates to the new spot instead of snapping.

— interactive, try it above
Transitions

Height animates to fit its content instead of snapping open. The container clips the overflow while it expands.

Accordion / Collapse

A section smoothly expands and collapses its height to show or hide content.

— interactive, try it above
Transitions

Morph

One shape smoothly turns into another shape, e.g. the Dynamic Island.

— interactive, try it above
Transitions

Shared element transition

An element travels and transforms from one position into another.

— interactive, try it above
Transitions
1

Direction-aware transition

Content slides one way going forward and the opposite way going back.

— interactive, try it above
Transitions
Before

Crossfade

One element fades out as another fades in, in the same spot.

— interactive, try it above
Transitions
concept

Continuity transition

A change that keeps the user oriented by visually connecting before and after.

Scroll

scroll ↓

Scroll reveal

Elements fade or slide into place as they enter the viewport.

— interactive, try it above
Scroll

scroll — progress is tied to position

Scroll-driven animation

An animation whose progress is tied directly to scroll position.

— interactive, try it above
Scroll
🌌
Foreground

moves faster than the background

scroll ↓

Parallax

Background and foreground move at different speeds while scrolling, creating depth.

— interactive, try it above
Scroll
Home

Page transition

An animation that plays when navigating from one page or route to another.

— interactive, try it above
Scroll

View transition

The browser morphs between two states or pages, connecting shared elements.

— interactive, try it above
Gestures
hover me

Hover

A visual change when the cursor moves over an element.

— interactive, try it above
Gestures

Press / Tap

A subtle scale-down when an element is clicked, so it feels physical.

— interactive, try it above
Gestures

Hold to confirm

A progress effect that fills up while the user holds a button.

— interactive, try it above
Gestures
drag

Drag

Moving an element by grabbing it, with elastic constraints.

— interactive, try it above
Gestures
  • Inbox
  • Drafts
  • Sent
  • Archive

Drag to reorder

Dragging items in a list to rearrange them, while the others shift.

— interactive, try it above
Gestures
Swipe me away →
drag past the edge to dismiss

Swipe to dismiss

Dragging an element off-screen to close it, like a drawer or toast.

— interactive, try it above
Gestures
drag past
the edge
resists, then snaps back

Rubber-banding

Resistance and snap-back when you drag past a boundary (the iOS overscroll feel).

— interactive, try it above
Gestures

Shake / Wiggle

A quick side-to-side jitter signaling an error or rejected input.

— interactive, try it above
Gestures

Ripple

A circle expanding from the point of a tap, confirming the press.

— interactive, try it above
Gestures

Tooltip

A small label that fades and scales in from its anchor on hover or focus.

— interactive, try it above
Gestures

pull down to refresh ↓

Aanya
Marcus
Priya
Tom
Sofia

Pull to refresh

Drag a list down past the top to trigger a refresh, with a spinner that appears as you pull.

— interactive, try it above
Ambient
MOTIONEASINGSPRINGSTAGGERMOTIONEASINGSPRINGSTAGGER

Marquee

Text or content that scrolls continuously in a loop.

— interactive, try it above
Ambient
repeat: Infinity

Loop

An animation that repeats, a set number of times or infinitely.

— interactive, try it above
Ambient
repeatType: reverse (yoyo)

Alternate (yoyo)

A loop that plays forward then reverses each iteration.

— interactive, try it above
Ambient

Orbit

An element circling around another in a continuous path.

— interactive, try it above
Ambient

Pulse

A gentle repeating scale or opacity change to draw attention.

— interactive, try it above
Ambient

Float

A gentle, continuous up-and-down drift that makes a static element feel alive.

— interactive, try it above
Ambient

Idle animation

Subtle motion that plays while an element is just sitting there.

— interactive, try it above
Polish & Effects
focus

Blur

A blur filter used to soften an element or mask tiny imperfections.

— interactive, try it above
Polish & Effects
clip

Clip-path

Clipping an element to a shape, used for reveals, masks, and before/after sliders.

— interactive, try it above
Polish & Effects
soft reveal

Mask

Revealing parts of an element using a shape or gradient — like clip-path, but with soft edges.

— interactive, try it above
Polish & Effects
After
Before
drag the divider

Before / after slider

A draggable divider that wipes between two overlaid images to compare them.

— interactive, try it above
Polish & Effects

Line drawing

An SVG path that draws itself in, like an invisible pen tracing it.

— interactive, try it above
Polish & Effects
Design

Text morph

Text that animates character by character when it changes.

— interactive, try it above
Polish & Effects

Typewriter

Text appearing one character at a time, as if being typed.

— interactive, try it above
Polish & Effects
0

Number ticker

Digits rolling or counting up to a value.

— interactive, try it above
Polish & Effects
normal10,000
tabular10,000

Tabular numbers

Fixed-width digits so numbers don't shift around as they change.

— interactive, try it above
Polish & Effects

Skeleton / Shimmer

A placeholder with a moving sheen shown while content loads.

— interactive, try it above
Polish & Effects

Confetti / Particles

A burst of particles that fly out and fall — a celebratory success moment.

— interactive, try it above
Polish & Effects
determinate0%
indeterminate

Progress / Loader

A determinate bar that fills toward a value, or an indeterminate sweep when the duration is unknown.

— interactive, try it above
Principles
small wind-up before the move

Anticipation

A small wind-up in the opposite direction before a move, hinting at what's about to happen.

— interactive, try it above
Principles
loose parts keep moving, then settle

Follow-through

Looser parts keep moving and settle slightly after the main element stops.

— interactive, try it above
Principles
deforms to convey weight & speed

Squash & stretch

Deforming an element as it moves to convey weight, speed, and flexibility.

— interactive, try it above

Reference glossary

Concepts that shape motion but aren't a standalone demo — the rest of the vocabulary.

Performance

Frame rate (FPS)
Frames drawn per second. 60fps is the baseline; 120fps on newer displays.
Jank
Visible stutter when the browser drops frames because it can't keep up.
Dropped frame
A frame the browser missed its deadline to draw, causing a tiny hitch.
Compositing
Letting the GPU move or fade an element on its own layer without redoing layout or paint.
will-change
A CSS hint that an element is about to animate, so the browser can promote it ahead of time.
Layout thrashing
Animating width, height, top, or left forces the browser to recalculate layout repeatedly.

Principles

Purposeful animation
Motion should orient, give feedback, or show relationships — not just decorate.
Perceived performance
The right animation makes an interface feel faster, even when it isn't.
Frequency of use
The more often a user sees an animation, the shorter and subtler it should be.
Spatial consistency
Animate so an element keeps its identity and position across states.
Hardware acceleration
Animating transform and opacity lets the GPU keep motion smooth.
Reduced motion
Respecting prefers-reduced-motion by toning down or removing motion.