Shadcn/ui
shadcn/ui is an open-source collection of accessible, customizable React components built on Radix UI primitives and styled with Tailwind CSS, distributed as copy-paste source code rather than an installed npm dependency.
Definition
shadcn/ui is an open-source collection of accessible, customizable React components built on Radix UI primitives and styled with Tailwind CSS, distributed as copy-paste source code rather than an installed npm dependency.
Overview
shadcn/ui broke from the typical component-library model of installing a versioned npm package, and instead ships a CLI that copies component source code directly into a project's own codebase, where developers can freely edit it. Each component — button, dialog, dropdown, and so on — is built on unstyled, accessible Radix UI primitives and styled with utility classes from Tailwind CSS. Because the component code lives in the consuming project rather than in node_modules, teams can adjust styling, behavior, and markup without fighting an abstraction layer or waiting on an upstream release; a CLI command scaffolds individual components with sensible defaults that teams then customize to match their own design system. shadcn/ui became especially popular in the React and Next.js ecosystem as a faster starting point than building components from scratch, while avoiding the customization limits of pre-styled component libraries, and it's frequently used as the base layer for internal design systems.
Key Features
- Copy-paste distribution model — components live in your own codebase, not node_modules
- Built on accessible, unstyled Radix UI primitives
- Styled with Tailwind CSS utility classes for easy customization
- CLI for scaffolding individual components into a project
- Full control over markup, styling, and behavior after installation
- Strong accessibility (ARIA) defaults inherited from Radix