Skip to main content
Clever Ops

Free React Loader & Spinner Components

A loading state is a small promise that the machine is working, and a generic spinner spends that moment saying nothing. These sixteen say something: a blueprint scanning itself, a plotter tracing, a kiln cone bending, a titration tinting, Morse pulses, vault dials, a film leader counting down. Each loops seamlessly, costs almost nothing to render, respects reduced motion, and carries proper status semantics so screen readers know the state too. Pick the one that fits your product's world.

16 components · MIT licensed · installable with the shadcn CLI

Diazo Develop preview

Diazo Develop

A blueprint develops as data arrives, latent linework surfaces in ink-density order, no sweep, bound to a 0-100 progress prop. React SVG preloader on Tailwind tokens with live percent.

Film Leader preview

Film Leader

Cinema countdown leader as a React preloader, crosshair plate, radial clock wipe, and a giant mono numeral bound to a 0-100 progress prop. Tailwind tokens, designed reduced-motion still.

Kiln Cone preview

Kiln Cone

Pyrometric cones slump as heat work accumulates, the firing cone's bend tracks a 0-100 progress prop until its tip touches at 100. React SVG preloader on Tailwind tokens, live percent.

Observatory preview

Observatory

An observatory acquires its target while data loads, dome slit, telescope slew and guiding reticle converge on a seeded star, locking at 100. React SVG preloader on Tailwind tokens.

Plotter Trace preview

Plotter Trace

A pen plotter drafts a seeded schematic while your React app loads, stroke length bound to a 0-100 progress prop, percent stamped in a live title block. Canvas preloader in Tailwind tokens.

Swarm Count preview

Swarm Count

Particle swarm preloader for React, thousands of ink specks continually re-form the live percent numeral as progress advances. Seeded, deterministic canvas themed by Tailwind tokens.

Titration preview

Titration

A burette meters primary drops into the flask, the meniscus falls with a 0-100 progress prop until the indicator flips at the endpoint. React SVG preloader on Tailwind tokens, live percent.

Vault Dials preview

Vault Dials

Concentric instrument dials rotate and lock as loading advances, each quarter seats a ring with a spring snap until the keyway aligns at 100. React and Tailwind spectacle preloader.

Blueprint Scan preview

Blueprint Scan

A small drafting plate under survey, a hairline sweep crosses it while corner registration ticks resolve in its wake, holds, and rescans. The sweep carries the only primary ink. SVG and motion.

Glyph Cycle preview

Glyph Cycle

A single mono glyph slot rolls through a deterministic character set behind a mask, and when the done prop flips, it rolls once more onto a primary check and stops. A one-character machine.

Ink Dots preview

Ink Dots

Three ink dots with a liquid squash-and-merge cadence, a scoped SVG goo filter fuses them as they meet, then they rebound apart. A working ellipsis, tiny and cheap. Pure CSS animation.

Ledger Fill preview

Ledger Fill

A mono working readout, "reconciling 047/128" with tabular digits rolling in a masked slot above a hairline progress rule. Determinate via a progress prop, or indeterminate by default.

Morse Pulse preview

Morse Pulse

A short word transmitted in morse, dot and dash glyphs pulse in sequence on a telegraph cadence, with the word as a mono legend beneath. Playful, legible, sub-3Hz. Pure CSS, zero deps.

Orbit Trio preview

Orbit Trio

Three bodies orbit a common center at staggered phases, each towing a short decaying trail, a micro ephemeris as spinner. One body burns primary. Tiny SVG, pure CSS animation, zero deps.

Percent Ring preview

Percent Ring

Determinate loading ring, hairline token track, primary arc, tabular mono percent at center and a micro-label beneath. Falls back to an orbiting indeterminate segment when no progress is given.

Survey Draw preview

Survey Draw

The brand as a spinner, a small blueprint frame with edge ticks and a corner registration cross that draws itself, holds, undraws, and redraws in a calm loop. SVG stroke work.

Frequently asked questions

When should I use a themed loader versus a skeleton screen?

Skeletons suit content whose shape you know (feeds, cards); loaders suit genuine unknowns, processing, generating, computing. Under about 300ms show nothing at all; between that and a few seconds these loaders shine; past that, show progress or narrate steps.

Are the loaders accessible to screen readers?

Yes, each renders a role="status" region with a configurable label, so assistive tech announces loading without seizure-inducing repetition. Under prefers-reduced-motion the animations settle to gentle or static states.

How heavy are these animations?

Light, most are single SVG or small canvas loops with transform/opacity animation only. They are designed to run during the exact moment your app is busiest, so they stay off the main thread's critical path.