UI & Design
shadcn/ui icon

shadcn/ui

Not a component library you install, a generator that copies the source into your own repo, so you actually own and can edit every component instead of fighting an abstraction layer.

What is shadcn/ui?

shadcn/ui is a collection of accessible, unstyled-by-default React components built on Radix UI primitives and styled with Tailwind CSS, distributed through a CLI that copies the actual component source into your project rather than installing it as an npm package. That distinction matters: there's no version to upgrade or abstraction to fight when you need to change a component's markup or behavior, because the code is just sitting in your repo like anything else you wrote.

Key features

  • CLI-based installation that copies component source directly into your codebase, not a black-box npm dependency
  • Built on Radix UI primitives, so accessibility (focus management, keyboard nav, ARIA) is handled correctly by default
  • Styled with Tailwind CSS and easy to theme via CSS variables, fitting naturally into an existing Tailwind project
  • A large, actively growing catalog of components (forms, dialogs, data tables, command palettes) covering most common UI patterns
  • Full ownership: since it's your code, you can restructure or rip out parts without waiting on an upstream release

Who it's for

A strong fit for teams already using React and Tailwind who want a real design system foundation without adopting a heavier, harder-to-customize component library. Less of a fit if you want a library that you never touch and just upgrade via a package manager, since here every update is a manual re-copy.

Pricing

Free and open source, with no paid tier for the component library itself.