19.2k stars · MIT · no tagged releases at all · Track this in Scout
The accessible, unstyled React primitives that shadcn/ui is built on — now maintained by WorkOS.
▶Repo detailsthe review · specs · pros & cons · install
What it is
Radix Primitives is a set of React components that handle keyboard behaviour, focus and screen-reader labelling, and deliberately ship with no visual design. It is the layer underneath a very large number of modern design systems.
What it is good for. Anyone building a web interface who would rather not write a dropdown menu from scratch. The hard parts of these components are not the look. They are what happens when somebody presses Escape, or tabs out of the menu, or arrives with a screen reader that needs to be told what the thing is. This does that work and leaves every visual decision alone, which is the opposite trade from a kit that comes with its own look.
- The behaviour you cannot see is the product. Keyboard navigation, focus trapping and the labelling that assistive software reads are all handled, and that is the part most hand-written components get wrong.
- It publishes no GitHub releases at all — the releases page says "There aren't any releases here". That is a determination and not a gap: versions ship on npm (the package registry for JavaScript) instead. There is now a single package,
radix-uiat version 1.6.7, as well as the older one-package-per-component style,@radix-ui/react-dialogat 1.1.23. Both are MIT. - Because it has no appearance, it does not fight whatever styling you already use, and it is the base other projects build on rather than a competitor to them.
- Ownership has changed and the repository is the only place that says so. The project description reads "Maintained by @workos", and the README's licence line is "Licensed under the MIT License, Copyright © 2022-present WorkOS" — WorkOS being a company that sells authentication services. The licence is plain MIT with nothing added, so there is no catch in the terms, but the most widely used headless component library for React is now looked after by a commercial vendor and it is worth knowing which one.
- 194 open issues against 138 open pull requests. The newest code landed on 8 August 2026, which is about eight weeks before this edition. The project's own records show activity today, but that is metadata rather than code, and it was not counted as one.
- React only, and no appearance means you write all of the CSS. Starting from nothing is more work than it sounds, which is exactly why most people reach this library through something built on top of it instead.
- ariakit/ariakit
The closest match in kind: unstyled accessible React components covering much the same list, with a smaller following and a slightly lower-level way of composing them.
Track this in Scout - tailwindlabs/headlessui
The same idea of behaviour without appearance, from the Tailwind CSS team and sized to pair with it, but it covers far fewer components.
Track this in Scout
kobaltedev/kobalteEdition 34 covered this: the same job for SolidJS instead of React, so it is the answer for anyone not using React.
Track this in Scout
# the single package npm install radix-ui # or one component at a time, the older style npm install @radix-ui/react-dialog

