v0.1 · reference fixture · shadcn

Build your own component library.

Beautifully-designed, accessible components you copy and paste into your apps. Open source, customizable, and yours to extend — this fixture paints from the same :root block every shadcn artifact inlines into its first <style>.

56 tokens · open source · MIT Press K to search the registry.

npx shadcn@latest add button

Why teams reach for it

Primitives that read like your own code, not a dependency.

Every component lives in your project — fully typed, fully owned. Tokens here, JSX in your repo, no version pinning, no transitive surprises.

Copy & paste.

The CLI drops every primitive's source into your repo as plain TSX. No bundle, no abstraction layer — what you see is what ships.

Inspect the tokens →

Accessible by default.

Built on Radix primitives. Keyboard navigation, focus management, ARIA wiring — the boring-correct foundation is included so you can ship the brand layer.

Read the spec →

Themeable to the token.

Rebind --accent, --radius-md, and the foreground ramp once — every primitive across the page restyles with no per-component overrides.

See the token map →

Form primitives

Inputs inherit the same tokens.

Focus rings, edges, placeholder color — all derive from --accent, --border, and --muted. The submit button reuses .btn-primary unchanged — black fill, white label, 6px radius.

No new token is introduced for this section. The form card uses --elev-raised directly so the focused input's ring reads as a clean halo over the bordered surface.

Full reference at tokens.css · spec at DESIGN.md.

Join the registry preview

Open

We'll send the registry preview link and nothing else.