Language
English English Vietnamese (Tiếng Việt) Vietnamese (Tiếng Việt) Chinese (简体中文) Chinese (简体中文) Portuguese (Brazil) (Português do Brasil) Portuguese (Brazil) (Português do Brasil) Spanish (Español) Spanish (Español) Indonesian (Bahasa Indonesia) Indonesian (Bahasa Indonesia)
CSS Loader/Spinner Generator

CSS Loader/Spinner Generator

Create CSS loading spinners and animations with no JavaScript. Pick from 43 presets, customize color, size, and speed, then copy the HTML and CSS.

CSS Spinner Generator for Loaders and Loading Animations

The CSS spinner generator turns 43 handcrafted presets into copy-ready loading animations, so you never have to hand-write keyframes from scratch. Browse the gallery, tweak the color, size, and speed, and copy clean HTML and CSS for your project.

It is built for front-end developers and designers who need a fast, dependency-free loading indicator — a spinner, dots, bars, a pulse, a progress bar, or an animated shape. Every preset is pure CSS, so there is no JavaScript, no image files, and no library to install.

Private by design: every preview and the code you copy are generated entirely in your browser. Nothing you select or customize is ever uploaded to a server.

How to Generate a CSS Loader

1

Browse and pick a loader

Use the category tabs — All, Spinner, Dots, Bars, Pulse, Progress, and Shapes — to filter the gallery. Each thumbnail animates live, so click the one you like, or hit Random to jump to a fresh pick.

2

Customize color, size, and speed

Open the color picker to set any loader color, drag the Size slider between 20px and 120px, and set the Speed (animation duration) from 0.3s to 3.0s. The live preview updates instantly with every change.

3

Check it on any background

Toggle the preview between Light, Dark, and Transparent backgrounds. The checkerboard transparent view helps you confirm the loader sits cleanly on top of your page with no stray background.

4

Copy the HTML and CSS

Switch between the HTML and CSS tabs and click Copy. The CSS already has your exact color, pixel size, and timing baked in, so paste the markup into your page and the styles into your stylesheet — done.

Features

43 Curated Loader Presets

A handcrafted collection covering everything from simple spinning rings to animated 3D cubes, each ready to drop into production.

Six Loader Categories

Filter by Spinner, Dots, Bars, Pulse, Progress, or Shapes, or view them all in one gallery to find the right style fast.

Live Animated Gallery

Every thumbnail in the grid runs its real animation, so you preview each loader in motion before you commit.

Color Picker

Match your brand by setting any color for the loader, applied across every part of the animation at once.

Size and Speed Control

Scale the loader from 20px to 120px and tune the animation duration from a fast 0.3s to a slow 3.0s.

Light, Dark, and Transparent Preview

Switch the preview background to verify your loader stays visible and clean in any page context.

Separate HTML and CSS Tabs

Code is split into minimal markup and styling so you can paste each part exactly where it belongs.

Production-Ready Output

The generated CSS uses resolved values — exact pixels, colors, and timing — instead of variables, ready to paste with no extra setup.

One-Click Copy

Copy the active HTML or CSS tab straight to your clipboard with a single button and a clear confirmation.

Random Loader Picker

Tap Random to instantly land on another loader within the category you are browsing for quick inspiration.

Pure CSS, No JavaScript

Every loader runs on CSS keyframes alone — no scripts and no images — so it stays lightweight and fast.

Responsive Layout

The gallery, preview, and code panels adapt to your screen, so it works the same on desktop and mobile.

Frequently Asked Questions

How do I create a CSS loading spinner?

Pick a preset from the gallery, adjust its color, size, and speed to taste, then copy the HTML and CSS tabs into your project. The spinner animation starts working as soon as you paste the markup into your page and the styles into your stylesheet.

Can I make a spinner with pure CSS, no JavaScript?

Yes. Every loader here is built entirely from CSS @keyframes animations. You only need the HTML markup and the CSS styles — no JavaScript and no image files are required for the animation to run.

How do I change the spinner color and speed?

Use the controls in the generator: the color picker sets the loader color, and the Speed slider sets the animation duration from 0.3s to 3.0s. After copying, you can still edit the values in the CSS — find the color (for example #6366f1) or the duration in seconds and change it directly.

How do I center a spinner on the page?

Wrap the loader in a full-height container and use flexbox, for example display: flex; align-items: center; justify-content: center; with a min-height set to the area you want to fill. For a full-screen overlay, position that container with position: fixed; inset: 0; so the spinner sits in the middle of the viewport.

What's the difference between a loader and a spinner?

"Loader" is the general term for any loading indicator, while a "spinner" is one common type — a rotating ring or arc. This tool covers both: the Spinner category holds the classic rotating loaders, and the Dots, Bars, Pulse, Progress, and Shapes categories give you other loading styles for the same job.

Can I change the loader color after copying the code?

Yes. The generated CSS uses an explicit color value, so you can find and replace it in the CSS at any time. For easier theming, swap that color for a CSS custom property such as var(--loader-color) and control it from one place.

Which browsers support these loaders?

All loaders work in modern browsers including Chrome, Firefox, Safari, and Edge. They rely on widely supported CSS features such as @keyframes, border-radius, and transform.

Are the loaders free to use in commercial projects?

Yes. The CSS you copy is yours to use in any project, including commercial work, with no attribution required.

Preview
px
s
Browse all 43 loaders or filter by category using the tabs
Click Random to jump to another loader in the current category
Toggle between Light, Dark, and Transparent backgrounds to preview your loader in context
Copy the HTML tab for the markup and the CSS tab for the styles separately
CSS output uses resolved values — no variables, ready for production
All processing happens in your browser — no data is sent to servers
Want to learn more? Read documentation →
1/7
Start typing to search...
Searching...
No results found
Try searching with different keywords