---
name: "@blocks-so"
slug: "blocks-so"
description: "Free, open-source collection of 60+ shadcn/ui application blocks covering login, dialogs, sidebars, stats, AI chat, command menus, file upload, form layouts, grid/list views, onboarding, and tables — all with live previews. Built with React, Tailwind CSS, and Next.js, accessible by default via Radix UI. Use for: grabbing polished, functional app-shell blocks (auth screens, sidebars, dashboards) that go beyond pure marketing sections."
category: "Blocks & sections (marketing/SaaS)"
tags: ["accessibility", "ai", "auth", "blocks", "cards", "dashboard", "forms", "marketing", "media", "navigation", "onboarding", "overlays", "saas", "tables"]
framework: "react"
license: "MIT"
author: "ephraimduncan"
website: "https://blocks.so"
github: "https://github.com/ephraimduncan/blocks"
registry: "https://blocks.so/r/registry.json"
pro: false
pro_url: null
github_stars: 1685
component_count: 77
generated_at: "2026-07-28T08:00:50.948Z"
---

# @blocks-so

Free, open-source collection of 60+ shadcn/ui application blocks covering login, dialogs, sidebars, stats, AI chat, command menus, file upload, form layouts, grid/list views, onboarding, and tables — all with live previews. Built with React, Tailwind CSS, and Next.js, accessible by default via Radix UI. Use for: grabbing polished, functional app-shell blocks (auth screens, sidebars, dashboards) that go beyond pure marketing sections.

## Links

- Website: https://blocks.so
- GitHub: https://github.com/ephraimduncan/blocks
- Registry JSON: https://blocks.so/r/registry.json
- Directory page: https://sh4dcn.vercel.app/registry/blocks-so
- This file: https://sh4dcn.vercel.app/md/blocks-so.md

## Install

```sh
# add the whole registry (shadcn CLI)
npx shadcn@latest add https://blocks.so/r/registry.json
pnpm dlx shadcn@latest add https://blocks.so/r/registry.json
bunx shadcn@latest add https://blocks.so/r/registry.json
# clone the source repo
git clone https://github.com/ephraimduncan/blocks.git
# fetch the raw registry index
curl -s https://blocks.so/r/registry.json
```

## Components (77)

| name | type | description | install |
| --- | --- | --- | --- |
| ai-01 | registry:block | A ai chat with voice input block. | `npx shadcn@latest add https://blocks.so/r/ai-01.json` |
| ai-02 | registry:block | A ai chat with model selection block. | `npx shadcn@latest add https://blocks.so/r/ai-02.json` |
| ai-03 | registry:block | A ai chat compact interface block. | `npx shadcn@latest add https://blocks.so/r/ai-03.json` |
| ai-04 | registry:block | A ai chat with file attachments block. | `npx shadcn@latest add https://blocks.so/r/ai-04.json` |
| ai-05 | registry:block | A ai elements chat block. | `npx shadcn@latest add https://blocks.so/r/ai-05.json` |
| command-menu-01 | registry:block | A command menu with groups block. | `npx shadcn@latest add https://blocks.so/r/command-menu-01.json` |
| command-menu-02 | registry:block | A command menu with keyboard shortcuts block. | `npx shadcn@latest add https://blocks.so/r/command-menu-02.json` |
| command-menu-03 | registry:block | A command menu with documentation search block. | `npx shadcn@latest add https://blocks.so/r/command-menu-03.json` |
| dialog-01 | registry:block | A dialog confirmation block. | `npx shadcn@latest add https://blocks.so/r/dialog-01.json` |
| dialog-02 | registry:block | A dialog with warning icon block. | `npx shadcn@latest add https://blocks.so/r/dialog-02.json` |
| dialog-03 | registry:block | A dialog with input field block. | `npx shadcn@latest add https://blocks.so/r/dialog-03.json` |
| dialog-04 | registry:block | A dialog with two buttons block. | `npx shadcn@latest add https://blocks.so/r/dialog-04.json` |
| dialog-05 | registry:block | A dialog with password confirmation block. | `npx shadcn@latest add https://blocks.so/r/dialog-05.json` |
| dialog-06 | registry:block | A dialog with privacy toggle block. | `npx shadcn@latest add https://blocks.so/r/dialog-06.json` |
| dialog-07 | registry:block | A dialog with member list block. | `npx shadcn@latest add https://blocks.so/r/dialog-07.json` |
| dialog-08 | registry:block | A dialog with email and password fields block. | `npx shadcn@latest add https://blocks.so/r/dialog-08.json` |
| dialog-09 | registry:block | A dialog with link share and toggles block. | `npx shadcn@latest add https://blocks.so/r/dialog-09.json` |
| dialog-10 | registry:block | A dialog with calendar and time picker block. | `npx shadcn@latest add https://blocks.so/r/dialog-10.json` |
| dialog-11 | registry:block | A dialog multi-step wizard block. | `npx shadcn@latest add https://blocks.so/r/dialog-11.json` |
| dialog-12 | registry:block | A dialog with avatar upload block. | `npx shadcn@latest add https://blocks.so/r/dialog-12.json` |
| file-upload-01 | registry:block | A file upload with preview block. | `npx shadcn@latest add https://blocks.so/r/file-upload-01.json` |
| file-upload-01 | registry:block | A file upload with preview block. | `npx shadcn@latest add https://blocks.so/r/file-upload-01.json` |
| file-upload-02 | registry:block | A file upload simple block. | `npx shadcn@latest add https://blocks.so/r/file-upload-02.json` |
| file-upload-03 | registry:block | A file upload multi-file dropzone block. | `npx shadcn@latest add https://blocks.so/r/file-upload-03.json` |
| file-upload-04 | registry:block | A file upload drag & drop block. | `npx shadcn@latest add https://blocks.so/r/file-upload-04.json` |
| file-upload-05 | registry:block | A file upload with progress block. | `npx shadcn@latest add https://blocks.so/r/file-upload-05.json` |
| file-upload-06 | registry:block | A file upload with status sections block. | `npx shadcn@latest add https://blocks.so/r/file-upload-06.json` |
| form-layout-01 | registry:block | A form with workspace fields block. | `npx shadcn@latest add https://blocks.so/r/form-layout-01.json` |
| form-layout-02 | registry:block | A form with side labels block. | `npx shadcn@latest add https://blocks.so/r/form-layout-02.json` |
| form-layout-03 | registry:block | A form with checkbox settings block. | `npx shadcn@latest add https://blocks.so/r/form-layout-03.json` |
| form-layout-04 | registry:block | A form with package selection block. | `npx shadcn@latest add https://blocks.so/r/form-layout-04.json` |
| form-layout-05 | registry:block | A form with plan selection block. | `npx shadcn@latest add https://blocks.so/r/form-layout-05.json` |
| grid-list-01 | registry:block | A grid list with dropdown block. | `npx shadcn@latest add https://blocks.so/r/grid-list-01.json` |
| grid-list-02 | registry:block | A grid list with links block. | `npx shadcn@latest add https://blocks.so/r/grid-list-02.json` |
| grid-list-03 | registry:block | A grid list with icons block. | `npx shadcn@latest add https://blocks.so/r/grid-list-03.json` |
| login-01 | registry:block | A login with email and google block. | `npx shadcn@latest add https://blocks.so/r/login-01.json` |
| login-02 | registry:block | A login with email, password and google block. | `npx shadcn@latest add https://blocks.so/r/login-02.json` |
| login-03 | registry:block | A login with email and password block. | `npx shadcn@latest add https://blocks.so/r/login-03.json` |
| login-04 | registry:block | A login with social buttons block. | `npx shadcn@latest add https://blocks.so/r/login-04.json` |
| login-05 | registry:block | A login card signup form block. | `npx shadcn@latest add https://blocks.so/r/login-05.json` |
| login-06 | registry:block | A login with magic link and sso block. | `npx shadcn@latest add https://blocks.so/r/login-06.json` |
| login-07 | registry:block | A login full page with icons block. | `npx shadcn@latest add https://blocks.so/r/login-07.json` |
| login-08 | registry:block | A login with sso block. | `npx shadcn@latest add https://blocks.so/r/login-08.json` |
| login-09 | registry:block | A login signup with role selection block. | `npx shadcn@latest add https://blocks.so/r/login-09.json` |
| onboarding-01 | registry:block | A onboarding block. | `npx shadcn@latest add https://blocks.so/r/onboarding-01.json` |
| onboarding-02 | registry:block | A onboarding workspace setup block. | `npx shadcn@latest add https://blocks.so/r/onboarding-02.json` |
| onboarding-03 | registry:block | A onboarding steps with progress block. | `npx shadcn@latest add https://blocks.so/r/onboarding-03.json` |
| onboarding-04 | registry:block | A onboarding accordion block. | `npx shadcn@latest add https://blocks.so/r/onboarding-04.json` |
| onboarding-05 | registry:block | A onboarding activity feed block. | `npx shadcn@latest add https://blocks.so/r/onboarding-05.json` |
| onboarding-06 | registry:block | A onboarding timeline block. | `npx shadcn@latest add https://blocks.so/r/onboarding-06.json` |
| onboarding-07 | registry:block | A onboarding deploy pipeline block. | `npx shadcn@latest add https://blocks.so/r/onboarding-07.json` |
| sidebar-01 | registry:block | A sidebar collapsible sections block. | `npx shadcn@latest add https://blocks.so/r/sidebar-01.json` |
| sidebar-02 | registry:block | A sidebar dashboard inset block. | `npx shadcn@latest add https://blocks.so/r/sidebar-02.json` |
| sidebar-03 | registry:block | A sidebar dashboard floating block. | `npx shadcn@latest add https://blocks.so/r/sidebar-03.json` |
| sidebar-04 | registry:block | A sidebar double-sided mail block. | `npx shadcn@latest add https://blocks.so/r/sidebar-04.json` |
| sidebar-05 | registry:block | A sidebar double-sided block. | `npx shadcn@latest add https://blocks.so/r/sidebar-05.json` |
| sidebar-06 | registry:block | A sidebar replacement block. | `npx shadcn@latest add https://blocks.so/r/sidebar-06.json` |
| stats-01 | registry:block | A stats with trending block. | `npx shadcn@latest add https://blocks.so/r/stats-01.json` |
| stats-02 | registry:block | A stats with borders block. | `npx shadcn@latest add https://blocks.so/r/stats-02.json` |
| stats-03 | registry:block | A stats with card layout block. | `npx shadcn@latest add https://blocks.so/r/stats-03.json` |
| stats-04 | registry:block | A stats with badges block. | `npx shadcn@latest add https://blocks.so/r/stats-04.json` |
| stats-05 | registry:block | A stats with links block. | `npx shadcn@latest add https://blocks.so/r/stats-05.json` |
| stats-06 | registry:block | A stats with status block. | `npx shadcn@latest add https://blocks.so/r/stats-06.json` |
| stats-07 | registry:block | A stats with circular progress block. | `npx shadcn@latest add https://blocks.so/r/stats-07.json` |
| stats-08 | registry:block | A stats with circular progress and links block. | `npx shadcn@latest add https://blocks.so/r/stats-08.json` |
| stats-09 | registry:block | A stats with progress block. | `npx shadcn@latest add https://blocks.so/r/stats-09.json` |
| stats-10 | registry:block | A stats with area chart block. | `npx shadcn@latest add https://blocks.so/r/stats-10.json` |
| stats-11 | registry:block | A stats dashboard with progress bars block. | `npx shadcn@latest add https://blocks.so/r/stats-11.json` |
| stats-12 | registry:block | A stats usage dashboard block. | `npx shadcn@latest add https://blocks.so/r/stats-12.json` |
| stats-13 | registry:block | A stats with segmented progress block. | `npx shadcn@latest add https://blocks.so/r/stats-13.json` |
| stats-14 | registry:block | A stats with usage breakdown block. | `npx shadcn@latest add https://blocks.so/r/stats-14.json` |
| stats-15 | registry:block | A stats with value breakdown block. | `npx shadcn@latest add https://blocks.so/r/stats-15.json` |
| table-01 | registry:block | A table with accordion block. | `npx shadcn@latest add https://blocks.so/r/table-01.json` |
| table-02 | registry:block | A table with actions block. | `npx shadcn@latest add https://blocks.so/r/table-02.json` |
| table-03 | registry:block | A table with filters block. | `npx shadcn@latest add https://blocks.so/r/table-03.json` |
| table-04 | registry:block | A table with grouped rows block. | `npx shadcn@latest add https://blocks.so/r/table-04.json` |
| table-05 | registry:block | A data table block. | `npx shadcn@latest add https://blocks.so/r/table-05.json` |

## For AI agents

```text
You are adding components from @blocks-so to a shadcn-compatible project.
1. Read this file (https://sh4dcn.vercel.app/md/blocks-so.md) for the component list.
2. Fetch the machine-readable index: https://blocks.so/r/registry.json
3. Install a single component with its install command from the table above.
4. Full structured record: https://sh4dcn.vercel.app/json (library slug: blocks-so).
```
