Design systems

shadcn/ui vs Chakra UI: two ways to own components

shadcn/ui copies components into your repo; Chakra UI installs them as a package. Two maintenance models, compared with catalogue numbers.

Key points

  • shadcn/ui copies code into the repository, Chakra UI installs a package: who updates it changes.
  • As of 1 November 2026 the EneUI catalogue lists 61 shadcn/ui components and 118 Chakra UI components.
  • The chakra-ui tag holds 753 questions on Stack Overflow, read on 1 November 2026.
  • The shadcn/ui limit is upgrades: every Radix or Tailwind change is a diff applied by hand.

shadcn/ui and Chakra UI are not two competing libraries: they are opposite ways to own components. shadcn/ui copies the code into your repository, while Chakra UI stays a package you install and upgrade. The difference shows up in the following two years, not on the first screen.

The EneUI catalogue indexes 61 components for shadcn/ui and 118 for Chakra UI. Twice the components is not twice the value: Chakra maintains them and decides their API, while shadcn hands you the code and the upkeep.

Two models, not two lists

Axisshadcn/uiChakra UIWhat it costs
DependencyFiles in the repositorynpm packageYour code against vendor updates
ThemeCSS variables in the projectProvider props and tokensThe theme is yours, or an API
PrimitivesRadixArk UI in v3You follow Radix or Ark UI releases
Components in the catalogue61118Different coverage, not quality
LicenceMITMITNo difference

Chakra UI arrives with a theme, tokens and components that already agree with each other: an internal dashboard ships in days. shadcn/ui arrives with none of that, because the theme is a CSS file you write yourself.

What changes when the design is not the vendor's

With Chakra the theme travels through a provider and a token object. If the design uses a different scale, you extend that object or replace the values: the component does not change, the configuration the vendor anticipated does.

With shadcn the theme is CSS variables and Tailwind classes. If the design changes, you change the file rather than the API: no component knows which brand is using it. That is more work up front and less friction later.

The test that decides in one afternoon

# 1. i numeri del catalogo, non le stelle
curl -s https://ui.eneawork.it/api/lib/shadcn | jq -r .title
curl -s https://ui.eneawork.it/api/lib/chakra-ui | jq -r .title

# 2. quanti file entrano davvero nel repository
npx shadcn@latest add button dialog card
git status --short

# 3. quante dipendenze porta Chakra in un progetto nuovo
npm install @chakra-ui/react
npm ls --depth=0

The second step is the real test: shadcn adds files, Chakra adds lines to `package.json`. Look at `git status` and ask who will review that code in a year.

When Chakra UI pays off

Chakra pays off when the team has no design capacity and consistency beats customisation. It also pays off when you need a dashboard with forms, tables and error states quickly: 118 components cover more cases than 61 and the vendor documents the API.

The limit to write down

Named limitation of shadcn/ui: there is no upgrade path. When Radix or Tailwind changes an API, the fix is a diff you apply by hand to the copied files. At 61 components the debt is manageable; with a heavily customised theme it grows with every release.

Licences and dependencies

Both are MIT, so the licence does not decide. Dependency weight does: Chakra brings a styling engine and primitives, shadcn brings Radix, `class-variance-authority` and `tailwind-merge`. Neither is free in maintenance time.

The starting record is /components/lib/shadcn, the direct comparison is /components/lib/chakra-ui and forms live in /components/cat/form. For general selection criteria read how to choose a UI library and copy-paste or headless; the measured comparison of alternatives is in alternatives to MUI.

Frequently asked questions

Is shadcn/ui a component library?

No, it is a collection of code you copy into the project. You install no package and receive no automatic updates.

Is Chakra UI free?

Yes, the package ships under the MIT licence. You pay in dependencies and vendor API, not in licence fees.

Can I use shadcn/ui and Chakra together?

Technically yes, but you pay for two themes and two token systems. If you do it, keep the boundary between them explicit.

Which one has more components?

Chakra UI, with 118 records against 61 as of 1 November 2026. The number measures coverage, not quality.

How much does moving from Chakra to shadcn/ui cost?

It depends on how many Chakra components you use and how customised the theme is. Migrate one screen with a form and time it.