Base UI
What is Base UIβ
Base UI is an unstyled, headless React library "from the creators of Radix, Floating UI, and Material UI" (Colm Tuite, Marija Najdova, MichaΕ Dudak, and others). It lives at github.com/mui/base-ui and folds in Floating UI's positioning engine. As of July 2026 it is the default primitive layer under shadcn/ui.
npm i @base-ui/react
caution
Base UI uses portals for overlays; the docs recommend setting isolation: isolate on your app root to keep stacking contexts predictable. The npm package was renamed during the betaβstable transition (the legacy beta name was @base-ui-components/react) β confirm the current package name against the official Base UI docs before installing.
One key API difference versus Radix: Base UI uses a render prop where Radix uses asChild.
Why we recommend itβ
- Accessible by default β WAI-ARIA-compliant behavior, keyboard navigation, and focus management out of the box.
- Unstyled β full control of the visual layer with Tailwind, CSS Modules, or plain CSS.
- Refined API β built by the Radix/Floating UI/MUI teams with lessons carried over from those libraries.
- shadcn/ui default β the primitive layer new shadcn projects scaffold on as of July 2026.
When to useβ
- Starting a new shadcn/ui project β Base UI is the default.
- You want the newest headless primitive layer with built-in Floating UI positioning.
- You're building a custom design system and want a future-facing foundation.
When NOT to useβ
- You have an existing project standardized on Radix β no need to migrate.
- You want ready-made styled components β use MUI or shadcn/ui.
Resourcesβ
- Base UI
- Base UI repo
- Radix UI β the alternative headless layer under shadcn/ui
- shadcn/ui β uses Base UI as its default unstyled foundation
- MUI β styled component library from the same team
- Headless UI Components β overview and Radix-vs-Base-UI guidance