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.
Best for 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
Install
Install
pnpm add @base-ui-components/reactHow 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.
On the same shelf
shadcn/ui
Components you copy into your repository and then own outright
21st.dev
A searchable marketplace of community components with a prompt for each one
Radix Primitives
Unstyled, accessible behaviour for the components that are hard to get right