Stack Picker
a developer-grade decision engine
Back to the picker
Styling / UI & Animation

shadcn/ui

Copy-paste component recipes built on Radix + Tailwind.

Official site
Monthly cost
Free
Popularity
5/5
LLM knowledge
4/5
Difficulty
Easy
bundle: per-component
#open-source#typescript

What shadcn/ui is good at

Strengths
  • +You own the code
  • +Composable
  • +Accessible by default
Tradeoffs
  • Manual updates
  • Not a true package

Coding-agent prompt

You're building UI with shadcn/ui. Follow these rules:

- Copy components into `components/ui/`; don't treat shadcn as a dependency.
- Edit the generated files to match your design system — that's the whole point.
- Compose primitives; don't wrap them in layers of abstraction.
- Use Radix for any component you need that shadcn hasn't shipped (it's what shadcn wraps).
- Stick with the class-variance-authority pattern for variants; it plays nicely with Tailwind.

Beginner's guide to shadcn/ui

In one line: Pre-built, beautiful components you copy into your project (not a library you install).

shadcn/ui is a collection of accessible React components — buttons, modals, dropdowns — that you copy directly into your codebase. Unlike most libraries, the code lives in your project, so you can edit anything.

Try it in your terminal
  • npx shadcn@latest init

    Set up shadcn in your project.

  • npx shadcn@latest add button

    Add a button component to your project.

Popular pairings with shadcn/ui

Browse all categories