finds.dev← search

// the find

shadcn-ui/ui

★ 116,257 · TypeScript · MIT · updated Jun 2026

A set of beautifully-designed, accessible components and a code distribution platform. Works with your favorite frameworks. Open Source. Open Code.

shadcn/ui is a component distribution system, not a component library — you copy the source directly into your project rather than installing a package. Built on Radix UI primitives and Tailwind, it targets React developers who want full control over their UI code without fighting a third-party abstraction. The v4 rewrite added a theme builder, a blocks system, and chart components via Recharts.

The copy-into-your-project model is genuinely smart: no version lock-in, no fighting library internals, no waiting for a maintainer to accept your PR. Accessibility is real — Radix handles the hard parts (focus trapping, ARIA, keyboard nav) so you don't have to. The theme system in v4 is well-thought-out: CSS variables all the way down, dark mode works without JavaScript tricks. Component quality is high and consistent; the data table pattern using TanStack Table is one of the better examples of how to actually wire that up.

The 'you own the code' model is also a liability — when upstream fixes a bug in a component you've already copied, you get nothing. Tracking upstream changes across dozens of copied files in a real app becomes manual work fast. Tailwind coupling means if your project isn't on Tailwind, you're not the target audience regardless of what the docs say about 'your favorite frameworks.' The blocks and charts features feel newer and rougher than the core components — the chart wrappers around Recharts are thin and you'll hit Recharts limitations quickly on anything non-standard. RTL support exists but is clearly an afterthought based on where it lives in the examples.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →