Skip to main content

Radix UI

What is Radix UIโ€‹

Radix ships two products: Radix Themes (a styled, batteries-included component library โ€” @radix-ui/themes) and Radix Primitives (low-level, unstyled/headless components). This page is about the primitives. Branded "Made by WorkOS," Radix adheres to WAI-ARIA design patterns and was shadcn/ui's original โ€” and, until July 2026, default โ€” primitive layer.

npm install radix-ui@latest
import { Popover } from "radix-ui";

The radix-ui package consolidates what used to be many individual @radix-ui/react-* packages into a single import surface.

Why we recommend itโ€‹

  • Accessible by default โ€” WAI-ARIA-compliant behavior, keyboard navigation, and focus management out of the box.
  • Unstyled โ€” no visual opinions; style with Tailwind, CSS Modules, or plain CSS.
  • Composable primitives โ€” small parts you assemble into your own components.
  • Battle-tested โ€” the original foundation under shadcn/ui, widely used in production.

When to useโ€‹

  • You're on an existing shadcn/ui project scaffolded on Radix and want to stay consistent.
  • You want a mature, widely adopted headless primitive layer.
  • You're building a custom design system and want proven primitives.

When NOT to useโ€‹

  • Starting a new shadcn/ui project โ€” the default is now Base UI.
  • You want ready-made styled components โ€” use MUI or shadcn/ui.
note

Radix is not deprecated. Under shadcn/ui it's now opt-in (pnpm dlx shadcn init -b radix), but it remains fully supported and continues to receive new components alongside Base UI.

Resourcesโ€‹