Base UI
Headless primitives from the people behind MUI and Radix
Base UI is an unstyled React component library built by contributors from MUI, Radix and Floating UI. It covers the same ground as Radix Primitives with a newer API, a smaller surface and a shared team behind the anchoring and positioning logic.
How it differs from Radix
The API is flatter. Fewer nested parts are required to assemble a working component, and the positioning story is unified because the same people maintain Floating UI.
It is also younger. Fewer components have shipped and fewer projects depend on it, which cuts both ways: less accumulated cruft and fewer answered questions when something behaves oddly.
Choosing between them
For a new project where you want headless components and you like the API better, Base UI is a reasonable default. For a project that already depends on the Radix ecosystem, including anything installed through shadcn/ui, switching gains you very little.
Do not run both. Two portal and focus management systems on one page produces layering bugs that are genuinely unpleasant to debug.
Reach for it when
- a new project that wants headless components with a modern API
- you already use Floating UI and want the same positioning model
- you find the Radix composition style too verbose
Watch out for
- younger than the alternatives, so expect fewer components and fewer answered questions
- the API has moved between releases, so pin versions and read changelogs
- mixing it with Radix in one app causes portal and focus conflicts
Compare with these
- UI componentsFree
shadcn/ui
Components you copy into your repository and then own outright
- react
- tailwind
- registry
MITRead - UI componentsFree tier
21st.dev
A searchable marketplace of community components with a prompt for each one
- react
- tailwind
- directory
Varies by component, most are MITRead - UI componentsFree
Radix Primitives
Unstyled, accessible behaviour for the components that are hard to get right
- react
- accessibility
- primitives
MITRead