assistant-ui vs shadcn/ui
Which should you use? A side-by-side look at what each one does, who it suits, what it costs, how hard it is to set up, and where each falls short.
Open source · MIT
A TypeScript/React library for building AI chat interfaces in your app.
Open source · MIT
Copy-in React UI components you customize as your own code, built on Tailwind CSS.
The short answer
Choose assistant-ui if you need…
- React or Next.js developers adding an AI chat panel to an existing app
- Teams that want to style chat UI with their own design system or shadcn/ui
- Developers who need tool-call rendering or inline human approval in a chat
- Projects already using the Vercel AI SDK or LangGraph
Choose shadcn/ui if you need…
- Developers building React or Next.js interfaces who want full control over component code
- Teams that want a consistent design system they can change freely
- Designers working with developers who need components that match a custom look
- Projects already using Tailwind CSS, which the topics list suggests is the styling base
Side-by-side
| assistant-ui | shadcn/ui | |
|---|---|---|
| Type | Library | Library |
| Price | Free and open source | Free and open source |
| Licence | MIT | MIT |
| GitHub stars | 12.9k | 127k |
| Setup difficulty | Intermediate | Intermediate |
| How you get it | Install with a package manager | See the README |
| Main language | TypeScript | TypeScript |
| Last code update | 4 days ago | 4 days ago |
What each one is
assistant-ui
assistant-ui is an open-source TypeScript and React library for building chat interfaces like ChatGPT inside your own web app. It provides composable chat pieces such as threads, messages, and a composer, and connects them to backends like the Vercel AI SDK, LangGraph, or your own custom backend.
shadcn/ui
shadcn/ui is a collection of UI components (buttons, forms and similar pieces) that you add to your own project as source code rather than installing as a locked package. You can then edit, extend and restyle them. The README describes it as a starting point for building your own component library.
Best for
assistant-ui
- React or Next.js developers adding an AI chat panel to an existing app
- Teams that want to style chat UI with their own design system or shadcn/ui
- Developers who need tool-call rendering or inline human approval in a chat
- Projects already using the Vercel AI SDK or LangGraph
shadcn/ui
- Developers building React or Next.js interfaces who want full control over component code
- Teams that want a consistent design system they can change freely
- Designers working with developers who need components that match a custom look
- Projects already using Tailwind CSS, which the topics list suggests is the styling base
Strengths
assistant-ui
- Composable primitives let you build custom chat layouts instead of using one fixed component
- Includes streaming, attachments, markdown, and accessibility features according to the README
- Typed TypeScript APIs for runtimes, tool schemas, and message parts
shadcn/ui
- Component code lives in your project, so you can change it without waiting on an upstream release
- The README states the components are open source and MIT licensed
- Large community interest, with over 120,000 stars on GitHub
Not ideal for
assistant-ui
- People who want a finished chat app without writing any code, since it is a library for developers
- Projects not using React, because the library is built for React and TypeScript
- Teams that need a single drop-in component with no customization, since the README describes composing primitives instead
shadcn/ui
- People who want a finished, unstyled-free app or website template; this is a set of building blocks
- Developers who do not use React, since the topics point to a React-focused stack
- Beginners without basic web development knowledge, as adapting components requires reading code
Trade-offs
assistant-ui
- Requires React and TypeScript knowledge, so it is not beginner-friendly for non-developers
- The README is truncated and does not fully document every backend or setup detail
- Being a library, you still need to supply and pay for your own model provider and backend
shadcn/ui
- Because you own the code, you are responsible for updating components yourself
- The README provided is short, so detailed setup and feature information lives on the external docs site
- Relies on a specific stack (React and Tailwind) as indicated by the topics, which limits use elsewhere
Getting started
assistant-ui
Create a new project with the CLI
npx assistant-ui@latest createAdd to an existing project with the CLI
npx assistant-ui@latest initshadcn/ui
Clone the repository
git clone https://github.com/shadcn-ui/uiFrequently asked questions
What is the difference between assistant-ui and shadcn/ui?
assistant-ui: A TypeScript/React library for building AI chat interfaces in your app. shadcn/ui: Copy-in React UI components you customize as your own code, built on Tailwind CSS. assistant-ui suits react or next.js developers adding an ai chat panel to an existing app, while shadcn/ui suits developers building react or next.js interfaces who want full control over component code.
Are assistant-ui and shadcn/ui free?
assistant-ui: Free and open source. shadcn/ui: Free and open source.
Is assistant-ui or shadcn/ui more popular?
shadcn/ui has more GitHub stars (127k) than assistant-ui (12.9k). Popularity isn't the same as fit — check which one matches your use case above.
What are other alternatives to assistant-ui and shadcn/ui?
Other options people compare them with include CopilotKit, Radix Primitives, Base UI, Headless UI, Material UI.
Keep comparing
Built from our catalogue entries for both products: open-source details come from each project's README (AI-assisted, refreshed weekly) and GitHub data; AI-tool details are editorial. Spotted something wrong? Let us know from either product's page.