shadcn/ui is a collection of beautifully designed, accessible, and customizable UI components built on top of Radix UI primitives and styled with Tailwind CSS. Unlike traditional component libraries distributed as npm packages, shadcn/ui takes a copy-paste approach where components are added directly to your project source code, giving developers full ownership and control over every line of component code. It solves the problem of opinionated, hard-to-customize component libraries by providing high-quality starting points that developers can freely modify without fighting framework constraints.
shadcn/ui components are built with accessibility as a foundation using Radix UI headless primitives, ensuring proper keyboard navigation, screen reader support, and ARIA attributes out of the box. The library includes a CLI tool that scaffolds components into your project with proper file structure and dependency management. It offers a comprehensive set of components including dialogs, dropdowns, data tables, forms, charts, sidebars, and more, all styled with Tailwind CSS and supporting dark mode, theming via CSS variables, and multiple visual variants.
shadcn/ui has become the go-to component foundation for React and Next.js projects, widely adopted by individual developers, startups, and AI code generation tools including v0, Lovable, and Bolt.new. It is ideal for teams that want professional-looking UI components without vendor lock-in, as the code lives entirely in the project repository and can be versioned, reviewed, and modified like any other source code. shadcn/ui works seamlessly with Next.js, Remix, Astro, and other React-based frameworks, and its Tailwind CSS foundation makes it compatible with any Tailwind-based design system.