UI libraries
21st.dev vs shadcnblocks: 1,002 registries, 8,939 components
8,939 components from 1,002 21st.dev registries plus 28 shadcnblocks records, read on 1 November 2026. Licence, duplicates and paid blocks compared.
Key points
- 8,939 components from 1,002 21st.dev registries in the catalogue as of 1 November 2026.
- shadcnblocks contributes 28 public records with an undeclared licence.
- 21st.dev is a marketplace of authors, shadcnblocks a paid collection: the licence model changes.
21st.dev and shadcnblocks solve different problems. 21st.dev is a marketplace where each author publishes a registry of copy-paste components; shadcnblocks is a collection of sections for shadcn/ui that you buy. The EneUI catalogue indexes 8,939 components from 1,002 registries collected on 21st.dev, plus 28 components from the public shadcnblocks registry, read on 1 November 2026.
Measured record
| Field | Value |
|---|---|
| Registries on 21st.dev | 1,002 |
| Components on 21st.dev | 8,939 |
| Components from shadcnblocks | 28 |
| Framework | react |
| Licence on 21st.dev | MIT or the author’s licence, per registry |
| Licence on shadcnblocks | not declared in the repository |
| Measured on | 1 November 2026 |
What the number means
The total counts collected records, not unique components. Several 21st.dev handles import the same component under different names, so 8,939 includes duplicates. Read it as coverage of the marketplace, not as a cleaned catalogue. The 28 shadcnblocks records cover the public half of the registry only; paid sections never enter the index.
The two sources, record by record
| Library | Records | Licence | Page |
|---|---|---|---|
| 21st.dev (shadcn registry) | 83 | MIT | /components/lib/21st-shadcn |
| 21st.dev (elements) | 28 | MIT | /components/lib/21st-elements |
| shadcnblocks | 28 | not declared | /components/lib/21st-shadcnblockscom--shadcnblocks-com |
Two records worth opening now: sidebar on 21st.dev and gallery4 on shadcnblocks. The preview is live and the code unlocks after sign-in.
How to choose between them
- Start from the licence: on 21st.dev it belongs to the registry author, on shadcnblocks to the purchase contract.
- Check the dependencies: shadcnblocks sections assume shadcn/ui and Tailwind are already configured.
- Open the preview before the code: a hero that pulls in three extra plugins costs maintenance.
- Read the last update date: a stalled registry never receives accessibility fixes.
- Pick the handle, not the site. With 1,002 registries, quality changes from author to author.
The limit of this measurement
For shadcnblocks the catalogue records the licence as null, because the text lives in the purchase contract and not in the repository. No script can verify it, so the record cannot tell you whether a block is safe in a commercial product. Only the contract answers that.
curl "https://ui.eneawork.it/api/library/profiles/21st-shadcnblockscom--shadcnblocks-com"
Every record lives on /components. For the selection method read how to choose a UI library and what a registry is; the comparison between copying code and using headless components sits in copy-paste vs headless.
Frequently asked questions
How many components come from 21st.dev?
8,939 from 1,002 registries, read on 1 November 2026. The figure sums the records of each registry, so duplicates are included.
Is shadcnblocks free?
No. The full collection is paid, though part of the blocks is public and the catalogue indexes 28 records from that public part.
What licence do shadcnblocks components use?
The repository does not declare one, so the catalogue lists it as undeclared. The purchase contract is the document that applies.
Can I copy a component from 21st.dev?
Only when the registry licence allows it. Many authors ship MIT, others do not, so read the licence file before you copy.
Which one should I pick for a landing page?
21st.dev if you want to compare authors and licences, shadcnblocks if you want uniform sections and accept paying for them.