Skip to main content

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​