# Radix UI

20 Hacker News commenters recommended Radix UI and 21 criticized it, November 2025 to November 2026. It was recommended in 8 of 13 months.

**Verdict:** Free React primitives that supply accessible, keyboard-friendly UI behaviour, with styling left to you. Caveat: critics find it overcomplicated for simple components.

## Why people recommend it

- Accessible, consistent behaviour built in (3 comments): "if you're building something like Figma or Linear where you genuinely need the accessibility primitives and keyboard navigation that Radix provides" ([source](https://news.ycombinator.com/item?id=46689537)) "By using radix, the underlying behaviour is compliant and identical for each of those implementations" ([source](https://news.ycombinator.com/item?id=46691595)) "behaviours are done, stylings are up to you" ([source](https://news.ycombinator.com/item?id=46691236))
- Free primitives, styling left to you (2 comments): "offering all these primitives with good default styling for free" ([source](https://news.ycombinator.com/item?id=46546926)) "behaviours are done, stylings are up to you" ([source](https://news.ycombinator.com/item?id=46691236))
- Good default for React projects (3 comments): "Use a common React component library such as Radix UI (don't reinvent the wheel)" ([source](https://news.ycombinator.com/item?id=47074144)) "using something like Radix is a great choice" ([source](https://news.ycombinator.com/item?id=46689959)) "they can start with Radix UI directly" ([source](https://news.ycombinator.com/item?id=46692433))

## What people warn about

- Overcomplicated for simple components (4 comments): "their Radix-based radio button was a bit much, as are other choices, where similarly overblown solutions were used" ([source](https://news.ycombinator.com/item?id=48791662)) "which is being overcomplicated by it allowing you to put any element as the visual part of the radio button" ([source](https://news.ycombinator.com/item?id=46693082)) "I can't see why Radix implements it this way, and it doesn't work without JS either." ([source](https://news.ycombinator.com/item?id=46688747))
- Suspended whole domain without notice (4 comments): "Radix using that as a reason to put the whole domain on hold, including all subdomains, email entries etc." ([source](https://news.ycombinator.com/item?id=47151977)) "Radix does what normally should involve a judge order (taking down the whole domain)" ([source](https://news.ycombinator.com/item?id=47152072)) "disabling the domain without any notification or way to resolve the issue" ([source](https://news.ycombinator.com/item?id=47153328))
- Landing page unclear, examples plain (3 comments): "The landing page looks lovely, but the examples shown have no foundation in my head for what they're doing" ([source](https://news.ycombinator.com/item?id=49835910)) "Very..uh.. plain. I was envisioning some more specific UX flow, but I couldn't tell you how, exactly." ([source](https://news.ycombinator.com/item?id=50128782)) "I don't really see the point of it just glancing at the website." ([source](https://news.ycombinator.com/item?id=49836144))

## Alternatives hackers recommend

- [shadcn/ui](https://hackerapproved.com/p/shadcn-ui.md): 82 recommend
- [Jelly UI](https://hackerapproved.com/p/jelly-ui.md): 41 recommend
- [Tailwind UI](https://hackerapproved.com/p/tailwind-ui.md): 38 recommend
- [Performative-UI](https://hackerapproved.com/p/performative-ui.md): 38 recommend
- [Base UI](https://hackerapproved.com/p/base-ui.md): 14 recommend

## Cite as

Hacker Approved, "Radix UI", https://hackerapproved.com/p/radix/ (counts from 1,795,640 Hacker News comments, November 2025 to November 2026).
