Loading Screen Generator
Build a loading screen — a spinner (ring, dual ring, dots, bars, pulse, grid, bouncing balls), a message and sub-text, an indeterminate or a determinate progress bar, a full-screen or inline overlay with a solid / blur / gradient backdrop, a fade-out on load and a reduced-motion fallback — with a live preview and HTML + CSS + JS output, a drop-in "hide on window.load" script, or a React / Vue / Tailwind component.
What this tool does
It builds the markup, styles and (optional) JavaScript for a loading overlay and previews it live, spinning.
Spinners
Ring, dual ring, three bouncing dots, equaliser bars, a pulsing
circle, a 3×3 grid, and bouncing balls — all pure CSS
@keyframes, sized and speed-controlled by variables.
Progress
Indeterminate is a looping bar for unknown
duration. Determinate renders a track you drive with
a --progress custom property or the small JS API
(setProgress(0.6)).
Hiding it
The drop-in script adds the overlay immediately and removes it on
window.load with a fade. Or call
hideLoader() yourself when your app is ready.
Accessibility
The overlay is role="status" with
aria-live="polite"; under
prefers-reduced-motion the animations stop and a static
state shows.
Output
HTML + CSS + JS, a drop-in script, or React / Vue / Tailwind.
Privacy
Everything runs in your browser. Nothing is uploaded.