CSS Loader Generator
Build animated CSS loaders and spinners with no JavaScript. Six styles, custom color, size, and speed — copy the HTML + CSS straight into your project.
Every loader here is pure CSS — no GIF, no SVG, no JS animation library. The keyframes are GPU-friendly (transform/opacity only), so they stay smooth even on a busy page. Add role='status' and aria-label so screen readers announce the loading state.
How to Use
Build animated CSS loaders and spinners with no JavaScript. Six styles, custom color, size, and speed — copy the HTML + CSS straight into your project.
- 1Pick a loader style. Spinner is the safe default; pulse and dots are friendlier; ripple draws attention if you want to interrupt.
- 2Set your brand color. The default indigo is a placeholder — match the loader to a primary CTA color so it reads as part of your UI rather than a stock widget.
- 3Adjust size for context. 32–48px works inside buttons, 64–80px for inline page loaders, 100px+ only when the loader is the page (full-screen splash).
- 4Tune speed. Under 0.6s feels frantic; 0.8–1.2s is the sweet spot; over 1.5s starts to feel like the page is broken. Faster ≠ better.
- 5Click Copy. The output bundles the HTML markup and the CSS — paste into your stylesheet and drop the <div class='loader'> wherever you need it.
Key Features
- Six distinct loader styles — spinner, dual-ring, dots, bars, pulse, ripple — covering every common UI need
- Live preview that updates as you change color, size, speed, and stroke thickness
- Outputs ready-to-paste HTML + CSS — no JS, no SVG, no GIF, no external library
- GPU-friendly keyframes (transform/opacity only) so the animation stays smooth on busy pages
- Built-in role='status' and aria-label so the loader is accessible to screen readers out of the box