Skip to content

schiste/loader-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

26 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Loader Generator

Live demo CI License: AGPL v3

A browser-based visual generator for animated loading spinners β€” tweak it live and copy production-ready CSS, Canvas, or SVG. No build step, no dependencies, no sign-up.

What it does

Design a loading animation by tweaking controls, and copy production-ready code in the format you want β€” no build step, no dependencies to install.

  • Geometry β€” circle, squircle, hexagon, or triangle silhouettes; size, stroke thickness, sweep angle (partial arcs), and dashed/segmented rings.
  • Color β€” multi-stop conic gradients with per-stop opacity, quick presets, tapered tails, and a comet fade.
  • Motion β€” spin speed, direction, easing, continuous hue-shifting, breathing pulse, reversing sweep, and mirror.
  • Extras β€” guide tracks, ambient glow with blend modes, and a center overlay (percentage counter or custom text).
  • Export β€” live, copyable output as a CSS mask, HTML5 Canvas script, or SVG vector.

Usage

It's a single self-contained HTML file. Either:

  • Open directly β€” double-click index.html, or

  • Serve locally (recommended, so clipboard copy works reliably):

    python3 -m http.server 8000
    # then visit http://localhost:8000

No installation is required to use it. Styling is a precompiled Tailwind stylesheet (tailwind.css); regenerate it with npm run build:css after changing classes in index.html. Fonts load from Google Fonts at runtime.

Development

The pure math helpers are unit tested (the tests extract the real functions from index.html, so they cover exactly the shipped code):

npm test        # node --test  β€” no dependencies to install
npm run serve   # serve locally on http://localhost:8000

See CONTRIBUTING.md for more. CI runs the tests and a parse check on every push/PR; main auto-deploys to GitHub Pages.

Accessibility

The app honors prefers-reduced-motion, ships a Pause/Play control for the preview, and labels its controls for assistive tech. The generated CSS/Canvas/SVG snippets also include a prefers-reduced-motion guard and role="status", so the loaders you export stay accessible by default.

Roadmap / known limitations

  • The renderer and the three code-exporters still re-read state independently; unifying them behind one shared config object would prevent preview/export drift.

License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See LICENSE for the full text.

The AGPL is a strong copyleft license: if you run a modified version of this software to provide a network service, you must make the complete corresponding source code of your modified version available to the users of that service.

Copyright (C) 2026 Christophe Henner

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

Contributing

Contributions are welcome. By submitting a contribution you agree to license it under the same AGPL-3.0 terms as the rest of the project.

About

πŸŒ€ A browser-based visual generator for animated loading spinners β€” live preview + copy-paste CSS, Canvas, or SVG. No build, no deps.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors