Spinners, bars, dots and skeletons — no JavaScript in any of them.
A loader is the one component where the honest version beats the clever one: if you know the progress, show a bar; if you do not, show something that does not pretend to. These are pure CSS keyframes, so they start the moment the markup parses rather than after a bundle loads — which is the whole point of a loading state.
The timeless rotating-border spinner, refined with a subtle base ring for depth.
Three colored dots that bounce in a staggered rhythm, perfect for inline status indicators.
Two concentric rings expand and fade in alternation, creating a sonar-like pulse.
A single square that rotates and morphs its border-radius in a hypnotic wave pattern.
Two stacked placeholder bars with a soft sweeping highlight that signals content is on its way.
A slim pill track with a colored segment that slides endlessly from left to right — perfect for progress feedback.
Three colored dots circle a central point at staggered phases, like electrons tracing an orbit.
Two counter-rotating waves slosh inside a circular vessel, creating a hypnotic liquid-fill illusion.
A purple hexagon (via clip-path) that flips on its Y axis while bouncing — geometric and modern.
A conic gradient masked into a thin ring that rotates — a more colorful alternative to the classic spinner.
Classic norm rotating ring spinner in blue.
Three bouncing dots in ocean colors with staggered timing.
A blue disc that pulses in size and emits an expanding ring.
Five-bar audio equalizer in ocean colors with staggered heights.
Norm shimmering text placeholder blocks on a slate surface.
Norm shimmering card placeholder blocks on a slate surface.
Blue-tinted skeleton bars that pulse opacity in sequence.
Skeleton bars with an ocean gradient wave sweeping across.
Loading avatar with a rotating ocean conic gradient + text lines.
Two concentric rings spinning in opposite directions in ocean colors.
Thin ocean arc spinner — one element, drawn by a conic gradient and cut to a ring with a radial mask.
Five blue bars pumping out of phase — the compact "still working" indicator for inline use.
Three ocean dots swelling in sequence — the quietest loader that still reads as motion.
Full card placeholder — avatar, heading and three text lines — sweeping blue in one shared animation.
Showing 24 of 73. Search the rest →
Shimmering placeholders shaped like the content that replaces them.
Rotating loaders built from borders, conic gradients and dots.
Determinate bars, rings, meters and step indicators.
Solid, outline, ghost, gradient and glow — every state included.
Gradients, waves, particles and meshes that move without JavaScript.
Linear, radial, conic and mesh ramps you can paste into a hero.