On this page
Overview
Radix Primitives is a low-level React UI component library for accessible design systems and web applications. It supplies interaction behavior and composable primitives for components such as dialogs, selects, popovers, and tabs while leaving visual styling to the application. Consumers can install individual packages or use the aggregated radix-ui package.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Compose dialogs, selects, popovers, tabs, and other UI primitives
The monorepo provides React component packages for Dialog, DropdownMenu, Select, Tabs, Tooltip, and many other primitives, allowing applications to install only the pieces they need.
Use accessibility and interaction behavior as a design-system foundation
The README emphasizes accessibility, customization, and developer experience. Teams can keep their own visual language while reusing low-level component behavior as a base layer.
Sources: [1]
Best fit
Fits design systems that want reusable accessible behavior without adopting a fixed visual theme
It is useful for frontend teams that prioritize composition and behavior while layering product-specific CSS and design tokens on top.
Sources: [1]
Before adoption
Packages in the monorepo have independent versions
At the reviewed commit, the aggregated radix-ui package is 1.6.7 while @radix-ui/react-dialog is 1.1.23. Pin and review changelogs per package instead of treating the repository as one version.
Server-side checks do not replace browser interaction and accessibility testing
Package-surface or server-rendering checks cannot validate real focus management, keyboard behavior, overlay/portal positioning, or application CSS interactions. Add browser-level accessibility tests for the target design system.
Official sources
- [1]Radix Primitives README at f7ecd5a(2026-10-05)
- [2]radix-ui 1.6.7 package metadata(2026-10-05)
- [3]@radix-ui/react-dialog 1.1.23 package metadata(2026-10-05)
- [4]radix-ui package exports(2026-10-05)
- [5]Radix Primitives MIT license(2026-10-05)
Supplemental curator note
This is a low-level foundation rather than a finished visual UI kit. Validate real keyboard, focus, portal, and styling behavior in the target browser and design system.
Try it in 3 steps
- 1
Install pinned radix-ui 1.6.7
Install the reviewed aggregated package and exact React peer dependencies in an isolated npm project.
demo=$(mktemp -d "${TMPDIR:-/tmp}/radix-primitives.XXXXXX") && cd "$demo" && npm init -y >/dev/null && npm install --save-exact radix-ui@1.6.7 react@19.2.8 react-dom@19.2.8 - 2
Inspect the Dialog namespace exports
Create a no-browser check that the aggregated package exports the main Dialog primitives.
printf '%s\n' "import { Dialog } from 'radix-ui'" "console.log(['Root','Trigger','Content'].every((key)=>key in Dialog))" > demo.mjs - 3
Verify the package surface
Require Dialog.Root, Dialog.Trigger, and Dialog.Content to be available. Validate focus and keyboard behavior separately in browser tests.
test "$(node demo.mjs)" = 'true'
Growth
Growth trends · Last 30 days
19,360 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 0
- Open PRs
- 158
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- ui
- ui-components
- ui-kit
- design-systems
- accessibility
- react
- component-library
- radix-ui
- colors
- Stars
- 19,360
- Forks
- 1,256
- Watchers
- 90
- Open issues
- 207
- Contributors
- 97
- Owner type
- Organization
- Primary language
- TypeScript
- License
- MIT
- Repository last updated
- Aug 8, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- React Redux23,424 Stars
3 shared tag(s) · 1 shared category(s) · Same language
official bindings that subscribe React components to a Redux store and dispatch state updates
TypeScript - flatpickr16,464 Stars
3 shared tag(s) · 1 shared category(s) · Same language
pick dates, times, ranges, and multiple days with a dependency-free UI and configurable disabled dates and locales
TypeScript - Linaria12,350 Stars
3 shared tag(s) · 1 shared category(s) · Same language
keep CSS-in-JS authoring while extracting styles to static CSS at build time
TypeScript - IMask5,182 Stars
3 shared tag(s) · 1 shared category(s) · Same language
apply phone, number, date, and other input masks while separating displayed, unmasked, and typed values
TypeScript - Floating UI32,756 Stars
4 shared tag(s) · 1 shared category(s) · Same language
low-level positioning and interaction primitives for tooltips, popovers, dropdowns, and other floating elements
TypeScript - Headless UI28,767 Stars
4 shared tag(s) · 1 shared category(s) · Same language
unstyled accessible UI components for React and Vue that supply interaction behavior while leaving visual design to the app
TypeScript
Report incorrect information
Tell us if any listing information is incorrect or outdated.