How it works
Radix Primitives are headless: each component ships the tricky parts (focus trapping, keyboard navigation, ARIA attributes, positioning of popovers) but no visual style. You compose them from parts such as Dialog.Trigger and Dialog.Content and style them with Tailwind, CSS Modules or any other approach. Radix Themes is a separate, pre-styled library built on top.
Radix is open source and maintained by WorkOS. It became widely known as the layer underneath shadcn/ui. Some of its original authors now build Base UI, a similar headless library that shadcn/ui made its default for new projects in 2026, so it is worth comparing the two, along with React Aria, when starting fresh.
Radix UI pros and cons
Pros
- Accessibility and keyboard behaviour handled carefully
- No styles to fight: works with any design or CSS approach
- Composable parts give fine control over the markup
- Mature and used in many production apps
Cons
- You still design and style everything yourself
- Works with React only
- shadcn/ui now defaults to Base UI, so newer guides may assume it
When to use Radix UI
Pick it when
- Building your own design system on accessible foundations
- Custom-designed React apps that need solid dialogs, menus and popovers
Skip it when
- You want ready-styled components (shadcn/ui or Radix Themes)
- The project does not use React
Radix UI pricing
Radix UI vs the alternatives
Related terms
More in Frontend
Styling and UI kits