radix-ui

radix-ui/primitives

TypeScript MIT Web Dev

Radix Primitives is an open-source UI component library for building high-quality, accessible design systems and web apps. Maintained by @workos.

19k stars
1.2k forks
active
GitHub +18 / week

19k

Stars

1.2k

Forks

380

Open issues

30

Contributors

AI Analysis

Radix Primitives is an open-source, low-level UI component library focused on accessibility, customization, and developer experience for React applications. It serves teams building design systems and web apps who need unstyled, accessible component primitives as a foundation. Best suited for design system teams and enterprises; less relevant for developers seeking pre-styled, ready-to-use component libraries.

Web Dev Library Discovery value: 2/10
Documentation 8/10
Activity 9/10
Community 9/10
Code quality 5/10

Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.

Overall score 8/10

AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.

accessibility react-components design-systems typescript ui-primitives
Actively maintained Well documented MIT licensed Popular Production ready
Deep Analysis · Based on README and public signals
2w ago

Radix Primitives: unstyled, accessible React components powering much of the modern design system ecosystem

Radix Primitives is a low-level, unstyled React component library focused on accessibility and composability. It provides the behavioral and ARIA-compliant foundation — dialogs, popovers, dropdowns, tooltips, etc. — without imposing visual styles, letting teams build their own design systems on top. Its primary users are frontend engineers and design system teams who need WAI-ARIA correctness without re-implementing complex interaction patterns. It has become foundational infrastructure for many React-based UI libraries, most visibly as the underlying engine for shadcn/ui.

Origin

Created in June 2020 by the team behind WorkOS, Radix Primitives emerged from real production needs for robust, accessible React primitives. It gained significant traction after 2022 as design-system-first development matured in the React ecosystem.

Growth

Growth accelerated substantially when shadcn/ui adopted Radix Primitives as its component foundation, effectively making Radix the de facto accessibility layer for a massive portion of the React UI ecosystem. The 19K star count understates actual adoption because shadcn/ui (117K stars) and countless downstream libraries depend on it. Weekly star gain of 26 is modest but typical for a mature infrastructure library — the project no longer needs stars to validate its position.

In production

Radix Primitives has extensive verifiable production adoption. It is a direct dependency of shadcn/ui (one of the most widely used React UI toolkits, 117K stars), MUI's base-ui is a direct conceptual competitor acknowledging the space Radix defined, and it is used directly by companies like Vercel, Linear, and numerous SaaS products. npm download counts for @radix-ui/react-* packages are consistently in the tens of millions per month.

Code analysis
Architecture

Likely follows a composable, headless component pattern where each primitive is a standalone package installable independently (e.g., @radix-ui/react-dialog). Appears to use a slot/render-delegation model for style customization. TypeScript-first based on the primary language. Monorepo structure inferred from the pnpm install setup and multi-package ecosystem.

Tests

Not documented in README. However, the project uses Chromatic for visual regression testing, which is mentioned explicitly, suggesting UI-level testing is part of the CI pipeline.

Maintenance

Last push was 2026-06-16 — approximately 11 days before the evaluation date — indicating active, ongoing maintenance. The project has been maintained consistently since 2020 under WorkOS stewardship. Active Discord and Twitter presence further support healthy maintenance posture.

Honest verdict

ADOPT IF: you are building a React design system or component library and need WAI-ARIA correct, behavior-complete primitives without opinionated styling — this is essentially the default choice for this use case. AVOID IF: you need multi-framework support (Svelte, Solid, Angular) out of the box, or if you are building a non-React application — Radix is React-only. MONITOR IF: you are evaluating base-ui or Ark UI as alternatives; the headless primitives space is evolving and competition may introduce pressure on API design or framework coverage over the next 1-2 years.

Independent dimensions

Mainstream potential

7/10

Technical importance

9/10

Adoption evidence

9/10

Risks
  • React-only scope limits applicability as the frontend ecosystem diversifies toward Svelte, Solid, and server-first frameworks with different component models.
  • WorkOS is the sole institutional maintainer; any strategic shift in WorkOS priorities could affect maintenance pace, though the MIT license and active community partially mitigate this.
  • shadcn/ui's dominance means a significant portion of Radix's real-world usage is mediated through an abstraction layer — if shadcn/ui migrates its primitive dependency, Radix's perceived adoption could drop sharply.
  • The 'unstyled primitives' space is attracting well-resourced competitors (MUI, Chakra, Tailwind Labs), which could fragment the ecosystem or pressure Radix to expand scope in ways that complicate the library.
  • Versioning complexity in a large multi-package monorepo may create upgrade friction for downstream consumers managing many @radix-ui/* packages simultaneously.
Prediction

Radix Primitives is likely to remain the dominant headless primitive library for React-based design systems for the next 2-3 years, with slow but steady growth as React remains the dominant frontend framework. Medium-term risk comes from framework diversification rather than direct competition.

0 found this helpful

Newsletter

Get analyses like this every Monday

Free weekly digest of the most interesting open-source discoveries.

Languages

TypeScript
96.2%
CSS
3%
JavaScript
0.8%
HTML
0%

Information

Language
TypeScript
License
MIT
Last updated
12h ago
Created
74mo ago
Analyzed with
anthropic/claude-haiku-4-5

Stars over time

Loading…

Contributors over time

Top 100 contributors only — repos with more will plateau at 100.

Loading…

Recent releases

No releases published yet.

Similar repos

radix-ui

radix-ui/themes

Radix Themes is an open-source React component library built on Radix UI...

8.5k TypeScript Web Dev
radix-ui

radix-ui/website

Radix UI website is the documentation and design system hub for Radix, a React...

1k TypeScript Web Dev
mui

mui/base-ui

Base UI is an unstyled component library for building accessible React...

10.3k TypeScript Web Dev
unovue

unovue/reka-ui

Reka UI is an open-source Vue component library for building accessible,...

6.6k Vue Web Dev
shadcn-ui

shadcn-ui/ui

shadcn/ui is a curated collection of accessible, customizable UI components...

118.7k TypeScript Web Dev
vs. alternatives
shadcn/ui

Not a competitor — it is a consumer of Radix Primitives. shadcn/ui copies styled components built on top of Radix into user codebases. Its massive adoption (117K stars) effectively validates and amplifies Radix's reach.

mui/base-ui

MUI's headless component library targeting the same unstyled/accessible primitive space. Has strong backing from MUI's large ecosystem but is younger in this form. Radix has a head start in community trust and ecosystem integrations.

unovue/reka-ui (formerly Radix Vue)

A Vue port of the Radix Primitives philosophy. Serves a different runtime (Vue 3) so not a direct competitor, but demonstrates how influential Radix's API design has become across frameworks.

Headless UI (Tailwind Labs)

Offers a similar unstyled/accessible approach but with a narrower component set and tighter coupling to the Tailwind ecosystem. Radix offers broader coverage and is framework-agnostic regarding styling.

Ark UI (Chakra UI team)

Headless component library from the Chakra UI team targeting React, Vue, and Solid. Growing alternative but has substantially less ecosystem momentum and fewer downstream integrations than Radix currently.