Base UI
The headless primitive layer from the MUI team.
Base UI is the headless primitive layer from the MUI team, built with several of the engineers who originally wrote Radix. Stable 1.0 landed in December 2025 and it is now the default foundation under new shadcn/ui projects.
At a glance
| Install | npm install @base-ui/react |
| Styling | none, fully agnostic |
| Accessibility | WAI-ARIA patterns, focus and keyboard handled |
| Server components | client-side, needs a client boundary |
| MCP server | not published |
| License | MIT |
Install
npm install @base-ui/react
What the code looks like
Components are split into addressable parts, so every element in the tree is yours to style.
import { Dialog } from "@base-ui/react/dialog"
<Dialog.Root>
<Dialog.Trigger className="btn">Open</Dialog.Trigger>
<Dialog.Portal>
<Dialog.Backdrop className="backdrop" />
<Dialog.Popup className="popup">
<Dialog.Title>Delete project</Dialog.Title>
<Dialog.Close>Cancel</Dialog.Close>
</Dialog.Popup>
</Dialog.Portal>
</Dialog.Root>
Documentation examples target Tailwind CSS v4. On a v3 project a few utility classes need converting by hand.
Choose it if
- You already have a design system and every styled library fights it.
- One accessibility layer has to serve several visual themes.
- You are starting fresh and want the primitive layer receiving active investment.
Look elsewhere if
- You need something that looks finished today. Nothing renders styled until you style it.
- Your project cannot move to Tailwind v4 and you do not want to translate examples.