Skip to content
Low-FPS Spinners logo

Low-FPS Spinners

Low-FPS CSS/SVG spinners cut CPU use from 50% to 3-8%

css
svg
spinners
performance
open-source
frontend

A public-domain collection of CSS/SVG loading spinner designs that animate at a low frame rate (1–30 steps per second) instead of smooth 60fps animation, reducing CPU/GPU usage on a typical laptop (measured from ~50% down to ~3-8% on an i7-7500U) and thereby cutting battery drain, heat, fan noise, and slowdown of other apps. The showcase page itself uses no JavaScript, and all designs can be copied freely.

Key Features

Low-FPS animation approach

Spinners animate at selectable step rates from 1 to 30 changes per second instead of smoothly, dropping GPU usage from ~50% to ~3-8% on a typical i7-7500U laptop.

Multiple spinner designs

Includes ray ring, dot ring, segmented rings, square ring, 2×2 squares, ticking clock, three dots/squares with pause, and segmented hourglass variants (10 and 40), each shown at 16px and 48px sizes.

HTML and SVG implementations

Every design comes in both HTML-elements-only and SVG versions, with guidance on which to pick — SVG avoids edge wobble in rotating designs and usually uses less GPU when many elements animate.

Per-design GPU usage measurements

GPU usage measured in Chromium's Task Manager for several designs (e.g. rotating segmented ring 6-10% HTML / 8-9% SVG at 10 steps/s; fade-in-place segmented ring 30% HTML / 13-15% SVG at 30 steps/s), with expected values derived for the rest.

Copyable public-domain code

The page's code is public domain; the author invites anyone to copy it as they like.

Respects the prefers-reduced-motion setting

If a user has "reduced motion" enabled in their desktop settings, the spinners are shown still instead of animating.

How It Works

  1. 1

    Pick a design and frame rate

    Each spinner row offers a choice of change rates (1 to 30 changes per second) and sizes (16px, 48px), and you can isolate a single design to measure it alone.

  2. 2

    Rotating vs. per-element animation

    Designs that rotate the whole spinner animate only one element, which is cheap and equal in HTML and SVG; designs that animate individual parts (segments, squares, dots, sand levels) give each HTML element its own GPU layer, so SVG — which redraws one small image per step — is cheaper.

Pros & Cons

Pros

  • Dramatically lower GPU usage (measured ~50% down to ~3-8% at low step rates on the test laptop)
  • Reduces battery use, heat, and fan noise
  • Public-domain code with no licensing restrictions
  • No JavaScript required — pure CSS/SVG
  • Concrete per-design GPU measurements rather than just claims
  • SVG versions avoid the visual edge wobble that HTML rotating spinners show at small sizes (a flaw the author notes even in spinners from trillion-dollar companies like Google AI Studio)

Cons

  • Not a drop-in library or package — you copy code from the page and integrate it yourself
  • Low-FPS animation is intentionally choppy, which is a deliberate aesthetic trade-off not everyone will want
  • Designs that animate many separate elements are more expensive in HTML (each element gets its own GPU layer); some designs only reach low GPU use in the SVG version
  • Rotating HTML spinners visually wobble at small sizes in Chromium and Firefox, and the HTML segmented ring draws stray grey lines into gaps in Firefox 155
  • Measurements were taken on a single machine (i7-7500U, Chromium on Linux/Windows); results on other hardware may differ

Who It's For

Best for

  • Web and desktop app developers who want efficient, copy-paste loading spinners without JavaScript
  • Projects where background CPU/GPU usage matters: laptops on battery, thermally constrained machines, quiet environments
  • Developers who care about rendering quality and want wobble-free spinner edges via the SVG versions

Not ideal for

  • Teams looking for a maintained npm package or a UI component library with API-level integration
  • Interfaces that specifically need smooth, high-frame-rate motion animation

Use Cases

  • Replacing smooth 60fps loading spinners in apps and websites to cut battery use, heat, and fan noise
  • Reducing CPU/GPU load so other apps run faster while spinners are active
  • Finding which spinner design (rotating vs. fade-in-place, HTML vs. SVG) is cheapest to render before adopting it

Pricing

The code is explicitly public domain — free to copy and use.

FAQ

How much CPU/GPU do these spinners save?

The page cites a reduction from ~50% to ~3-8% GPU usage on a typical laptop (i7-7500U). Per-design Chromium measurements include a rotating segmented ring at 6-10% (HTML) / 8-9% (SVG) at 10 steps/s, and a fade-in-place segmented ring at 14% (HTML) / 8-9% (SVG) at 10 steps/s and 30% (HTML) / 13-15% (SVG) at 30 steps/s.

Do I need JavaScript?

No. The spinners are CSS-only (with HTML or SVG markup), and the showcase page itself uses no JavaScript at all.

Can I use the code in my own project?

Yes — the code is public domain, so you can copy it as you like.

Should I use the HTML or SVG version?

The page recommends SVG in general: rotating HTML spinners visibly wobble at small sizes, and designs that animate many separate elements are cheaper in SVG because HTML gives each animated element its own GPU layer while SVG redraws a single layer.

Why don't the spinners move for me?

You likely have "reduced motion" enabled in your desktop settings; the page respects that setting and displays the spinners still.

How were the GPU measurements taken?

Using Chromium's Task Manager (Shift+Esc on Linux/Windows), looking at the "GPU Process" row on the i7-7500U laptop, with one design shown at a time. Verdicts not marked "measured" are derived expectations based on how each design animates.

Similar Products

Pi logo

A terminal-based coding agent

x402vps logo

Docker containers for AI agents, pay per hour

Q3Edit logo

Edit, compile & play Quake III maps in your browser

Roblox Gui Maker logo

Free browser-based Roblox GUI builder: drag-and-drop design, interactive buttons, and instant Luau code export. No login