Loader

Loading indicator with seventeen variants: spinner, dots, bars, dot-matrix, dither, morph, comet, scramble, metaballs, newton, helix, percent, and five terminal-style ascii spinners. Scales from one size prop, uses currentColor, and reduced-motion swaps every transform for a calm opacity pulse.

Preview

LoadingSpinner
LoadingDots
LoadingBars
LoadingDot Matrix
LoadingDither
LoadingLoadingMorph
LoadingComet
LoadingLoadingMetaballs
LoadingNewton
LoadingHelix
LOADINGLoadingScramble
0%LoadingPercent
LoadingASCII
|LoadingASCII Line
LoadingASCII Braille
LoadingASCII Blocks
LoadingASCII Bounce

Install

Add it with the shadcn CLI, or copy the source manually.

$ bunx --bun shadcn add @beui/loader

API Reference

variant?
"spinner" | "dots" | "bars" | "dot-matrix" | "dither" | "ascii" | "ascii-line" | "ascii-braille" | "ascii-blocks" | "ascii-bounce" | "morph" | "comet" | "scramble" | "metaballs" | "newton" | "helix" | "percent"

Which animation to render.

spinner
size?
number

Base square size in px. Everything scales from this.

32
speed?
number

Seconds per animation cycle.

1
label?
string

Accessible label announced to screen readers.

Loading
className?
string

Keep in mind

Some components on this site are inspired by or recreated from existing work across the web. I'm not here to take credit; just to learn, experiment, and sometimes push things a bit further. If something looks familiar and I forgot to mention you, reach out and I'll fix that right away.

Updated