Loading State Guide
Animations that keep users engaged during waits. From skeleton screens to spinners, each state serves a purpose.
Loading Animations
28 typesThe timeless circular loader. Best for short waits under 3 seconds. Simple, recognizable, and universally understood.
A gentle pulsing circle that mimics a heartbeat. Creates a calming effect for wellness apps or meditation tools.
Three dots bouncing in sequence. Adds a touch of playfulness while indicating ongoing activity.
Fills and empties to show ongoing activity. Works well for file uploads or data processing tasks.
Mimics the actual content layout with shimmering blocks. Reduces perceived wait time by showing structure.
Bars that grow and shrink like audio visualization. Perfect for music apps or audio-heavy interfaces.
A modern circular loader with smooth rotation. Great for dashboards and data-heavy applications.
Bars that stretch and compress elastically. Adds energy and movement to the loading experience.
Two concentric spinners rotating in opposite directions with different colors. Creates depth and visual interest.
A square that pulses and rotates simultaneously. Clean and geometric, perfect for tech-focused interfaces.
Triangles moving in a wave pattern. Creates a rhythmic, flowing effect that feels organic and natural.
One dot orbiting around another. Suggests motion, travel, or exploration. Perfect for mapping or navigation apps.
A box flipping in 3D space. Creates a sense of dimensionality and depth. Great for creative or interactive apps.
Bars moving in a zigzag pattern. Adds a playful, dynamic twist to the traditional loading animation.
A heart shape pulsing like a heartbeat. Perfect for health, fitness, or social apps that emphasize connection.
Two dots moving in an infinity pattern. Suggests endlessness, continuity, or unlimited possibilities.
Dots that spin and scale. Combines rotation with size variation for a dynamic visual effect.
A circle that blinks on and off. Simple yet effective, with a gentle pulsing effect.
A box rotating in 3D space. Creates a sense of dimensionality and movement.
A water drop shape that bounces. Creates a fluid, organic motion effect.
A ball swinging like a pendulum. Creates a rhythmic, hypnotic effect.
A shape that continuously morphs between different forms. Creates a dynamic, ever-changing effect.
Dots rolling in sequence. Creates a sense of movement and progress.
A ball with a springy motion. Creates a playful, energetic effect.
Two blades rotating like a fan. Creates a sense of air movement or cooling.
A ring pulsing outward in concentric circles. Creates a ripple effect like water.
A dot sliding along the circumference of a circle. Creates a smooth, continuous motion.
A glowing orb with varying light intensity. Creates a magical, ethereal effect.
A simple bouncing ball animation. Playful and universally recognizable.
Best Practices
4 practicesDuration Matters
Under 100ms: No loader needed. 100ms-1s: Instant feel, minimal animation. 1-10s: Skeleton or progress indicator. Over 10s: Show progress percentage and estimated time.
Match the Brand
Use loading animations that align with your brand personality. Tech apps might prefer clean geometric loaders, while creative brands can use more playful animations.
Accessibility First
Respect reduced motion preferences using prefers-reduced-motion media query. Provide text alternatives for screen readers where meaningful.
Performance Optimized
Use CSS animations over JavaScript animations where possible. Avoid animating large areas or expensive properties like layout or paint triggers.