{"slug": "radix", "name": "Radix", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "", "recommenders": 4, "commenters": 11, "warners": 1, "score": 3.183, "rising": -1.31, "first": "2026-01-08", "latest": "2026-07-04", "why": "Radix/Shadcn (which uses tailwind for styling of course) that killed the need to buy Tailwind\u2019s UI kits by offering all these primitives with good default styling for free", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 4, "neutral": 4, "compare": 2, "warn": 1}, "spark": [0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "Radix/Shadcn (which uses tailwind for styling of course) that killed the need to buy Tailwind\u2019s UI kits by offering all these primitives with good default styling for free", "kind": "", "icon": false, "domain": "radix-os.com", "github_repo": null, "official_url": "https://radix-os.com/", "pricing": "", "aliases": ["Radix", "Radix UI"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 774201033, "item_id": 48387564, "url": "https://news.ycombinator.com/item?id=48387564", "by": "devraulu", "date": "2026-06-03", "stance": "recommend", "quote": "migrating off legacy Material UI to shadcn and Radix", "excerpt": "Location: DR Remote: Yes Willing to relocate: No Technologies: React, TypeScript, Go, Node, Postgres, Terraform, Docker, Linux, Claude R\u00e9sum\u00e9/CV: https://rauluis.com/Raul%20Luis.pdf Email: me at rauluis.com Hi, my name is Raul, and I build fullstack applications, primarily using TypeScript, React, Go, and PostgreSQL. Most recently I led frontend development on a whitelabel marketplace for grain trading. A big part of", "context": "", "use_case": "", "switched_from": "Material UI", "story": "Ask HN: Who wants to be hired? (June 2026)"}, {"id": 751273713, "item_id": 46954607, "url": "https://news.ycombinator.com/item?id=46954607", "by": "Garrett_Mack", "date": "2026-02-09", "stance": "recommend", "quote": "Rebuilding with radix primitives", "excerpt": "Hi everyone, I'm the creator of LiftKit. This project is EXTREMELY early and, as everyone has pointed out, not ready for production use. It's a solo project I work on in my free time. I'm a self-taught, so a lot of the weird choices you're seeing can be attributed to the decisions of someone who had never built something like this before. LIFTKIT IS FREE AND OPEN SOURCE. The website's just out of date. https://github", "context": "", "use_case": "Accessible UI primitives", "switched_from": "", "story": "LiftKit \u2013 UI where \"everything derives from the golden ratio\""}, {"id": 747043584, "item_id": 46690224, "url": "https://news.ycombinator.com/item?id=46690224", "by": "mcintyre1994", "date": "2026-01-20", "stance": "recommend", "quote": "which has better styling than the shadcn one", "excerpt": "I think this is the equivalent of the radix demo (which has better styling than the shadcn one) in plain html/css: https://codepen.io/mcintyre94/pen/pvbPVrP Copied styles from the radix docs: https://www.radix-ui.com/primitives/docs/components/radio-group", "context": "", "use_case": "Headless UI primitives", "switched_from": "", "story": "The Overcomplexity of the Shadcn Radio Button"}, {"id": 744750818, "item_id": 46546926, "url": "https://news.ycombinator.com/item?id=46546926", "by": "pembrook", "date": "2026-01-08", "stance": "recommend", "quote": "Radix/Shadcn (which uses tailwind for styling of course) that killed the need to buy Tailwind\u2019s UI kits by offering all these primitives with good default styling for free", "excerpt": "I love tailwind, but I think it\u2019s disingenuous for Adam to claim that \u201cAI\u201d killed the tailwind UI kit business. Ultimately it was Radix/Shadcn (which uses tailwind for styling of course) that killed the need to buy Tailwind\u2019s UI kits by offering all these primitives with good default styling for free. Also, the tailwind UI stuff feels pretty dated at this point in comparison to what\u2019s offered in other free UI librari", "context": "", "use_case": "UI primitives", "switched_from": "", "story": "Google AI Studio is now sponsoring Tailwind CSS"}]}], "caveats": [], "who": [], "tags": [], "use_cases": ["accessible ui primitives", "headless ui primitives", "ui primitives"], "compared": [{"slug": "shadcn-ui", "name": "shadcn/ui", "co": 8, "switched_from": 0, "switched_to": 0}, {"slug": "tailwind-css", "name": "Tailwind CSS", "co": 3, "switched_from": 1, "switched_to": 0}, {"slug": "react-aria", "name": "React Aria", "co": 4, "switched_from": 0, "switched_to": 0}, {"slug": "base-ui", "name": "Base UI", "co": 3, "switched_from": 0, "switched_to": 0}, {"slug": "react", "name": "React", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "claude-opus", "name": "Claude Opus", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [{"id": 804978112, "item_id": 50311132, "url": "https://news.ycombinator.com/item?id=50311132", "by": "dmarcos", "date": "2026-10-30", "stance": "neutral", "quote": "It's explained here (it falls back to WebGL2)", "excerpt": "Thanks. It's explained here (it falls back to WebGL2) https://sparkjs.dev/radix/ but maybe we should make it more prominent?", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: Radix - A WebGPU-powered 3D Gaussian Splat renderer built on Three.js"}, {"id": 802076800, "item_id": 50129800, "url": "https://news.ycombinator.com/item?id=50129800", "by": "floho_hh", "date": "2026-10-17", "stance": "neutral", "quote": "", "excerpt": "I can\u2019t speak for your tool, but I wanted to appreciate your privacy page https://radix-os.com/privacy It points out concrete details (e.g. \u201cwhere on my Mac does your folder live?\u201d), it is comprehensive and understandable for a layperson. Kudos!", "context": "", "use_case": "", "switched_from": "", "story": "Ultramarine 1\u00a0Flash"}, {"id": 802056224, "item_id": 50128514, "url": "https://news.ycombinator.com/item?id=50128514", "by": "0x1062", "date": "2026-10-17", "stance": "recommend", "quote": "I\u2019m building a tool called Radix which is a knowledge work harness. It\u2019s similar to Feather (that you linked) but imho a stronger tool.", "excerpt": "Hello, apologies for the self-promotion but I\u2019m building a tool called Radix which is a knowledge work harness. It\u2019s similar to Feather (that you linked) but imho a stronger tool. Please email or message me if you would like to give it a try for free instead of paying the subscription price. https://radix-os.com", "context": "builder of Radix", "use_case": "knowledge work harness", "switched_from": "", "story": "Ultramarine 1\u00a0Flash"}, {"id": 802056048, "item_id": 50128503, "url": "https://news.ycombinator.com/item?id=50128503", "by": "0x1062", "date": "2026-10-17", "stance": "recommend", "quote": "I\u2019m building a tool called Radix which is a knowledge work harness.", "excerpt": "Hello, apologies for the self-promotion but I\u2019m building a tool called Radix which is a knowledge work harness. Please email or message me if you would like to give it a try for free instead of paying the subscription price. https://radix-os.com/", "context": "builder of Radix", "use_case": "knowledge work harness", "switched_from": "", "story": "Ultramarine 1\u00a0Flash"}, {"id": 797376208, "item_id": 49836013, "url": "https://news.ycombinator.com/item?id=49836013", "by": "0x1062", "date": "2026-09-24", "stance": "recommend", "quote": "I'm actually using Radix right now to brainstorm", "excerpt": "Yes ha this is very accurate unfortunately. I'm actually using Radix right now to brainstorm and update the example on the landing page to be more descriptive. If it helps: the basic idea is that instead of an agent returning text or markdown we get it to return HTML. We then provide an app which makes working with that HTML actually useful (i.e. a sidebar to list the tools you've built, a way of commenting on the pa", "context": "", "use_case": "brainstorming agent-generated HTML", "switched_from": "", "story": "Show HN: Radix \u2013 Visual UI for agentic programming"}], "threads": [{"url": "https://news.ycombinator.com/item?id=46688971", "title": "The Overcomplexity of the Shadcn Radio Button", "mentions": 5}, {"url": "https://news.ycombinator.com/item?id=50106747", "title": "Ultramarine 1\u00a0Flash", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=46952118", "title": "LiftKit \u2013 UI where \"everything derives from the golden ratio\"", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=50292475", "title": "Show HN: Radix - A WebGPU-powered 3D Gaussian Splat renderer built on Three.js", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49834964", "title": "Show HN: Radix \u2013 Visual UI for agentic programming", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48791328", "title": "Shadcn/UI now defaults to Base UI instead of Radix", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {}, "2026-01": {"recommend": 2, "neutral": 3}, "2026-02": {"recommend": 1, "compare": 1}, "2026-03": {"neutral": 1}, "2026-04": {}, "2026-05": {"compare": 1}, "2026-06": {"recommend": 1}, "2026-07": {"warn": 1}, "2026-08": {}, "2026-09": {}, "2026-10": {}}, "quotes": [{"id": 780669313, "item_id": 48791832, "url": "https://news.ycombinator.com/item?id=48791832", "by": "notpushkin", "date": "2026-07-04", "stance": "warn", "quote": "", "excerpt": "My main gripe with Shadcn and, well, most UI libraries nowadays, is that they are reinventing the wheel for like a thousandth time. I\u2019m trying out Ark UI on a side project. They do have some genuinely useful components, like tags input: https://ark-ui.com/docs/components/tags-input They have a tabs/\u201csegment group\u201d component with a nice animated active element indicator which would probably be tricky to implement: htt", "context": "", "use_case": "", "switched_from": "", "story": "Shadcn/UI now defaults to Base UI instead of Radix"}, {"id": 774201033, "item_id": 48387564, "url": "https://news.ycombinator.com/item?id=48387564", "by": "devraulu", "date": "2026-06-03", "stance": "recommend", "quote": "migrating off legacy Material UI to shadcn and Radix", "excerpt": "Location: DR Remote: Yes Willing to relocate: No Technologies: React, TypeScript, Go, Node, Postgres, Terraform, Docker, Linux, Claude R\u00e9sum\u00e9/CV: https://rauluis.com/Raul%20Luis.pdf Email: me at rauluis.com Hi, my name is Raul, and I build fullstack applications, primarily using TypeScript, React, Go, and PostgreSQL. Most recently I led frontend development on a whitelabel marketplace for grain trading. A big part of", "context": "", "use_case": "", "switched_from": "Material UI", "story": "Ask HN: Who wants to be hired? (June 2026)"}, {"id": 771145170, "item_id": 48196573, "url": "https://news.ycombinator.com/item?id=48196573", "by": "nolimits4web", "date": "2026-05-19", "stance": "compare", "quote": "Headless primitives like Radix or Base UI hand you behavior and ask you to do everything else.", "excerpt": "Some more on the why and how - Cladd started as the internal UI inside t0ggles (my project-management tool) because none of the popular options handled dense application UIs well. Most UI kits hand you the same surface color at every nesting level. Put a card inside a card inside a popover and you end up writing one-off CSS to fake the depth contrast. Headless primitives like Radix or Base UI hand you behavior and as", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: Cladd \u2013 React UI kit for editors, dashboards, and dense app UIs"}, {"id": 755529778, "item_id": 47220611, "url": "https://news.ycombinator.com/item?id=47220611", "by": "peiyaooo", "date": "2026-03-02", "stance": "neutral", "quote": "Built with Radix + Tailwind + Zustand", "excerpt": "We run 17 AI agents at Artificial Lab. One day we realized we had no idea what they were spending. Our agents write code, create content, manage infrastructure : and increasingly, those jobs require spending money. API calls, cloud compute, service subscriptions. The UI for all of that spending was our credit card statement. Once a month. After the fact. So we built AgentPay: four React components for AI agent paymen", "context": "", "use_case": "", "switched_from": "", "story": "AgentPay: Budget controls and approval UI for autonomous AI agents"}, {"id": 752188608, "item_id": 47011788, "url": "https://news.ycombinator.com/item?id=47011788", "by": "nickradford", "date": "2026-02-13", "stance": "compare", "quote": "Radix is fine, but base ui has generally better primitives", "excerpt": "Hey! I didn't realize this wasn't even posted by the creator of the library. Building shit and launching is hard, don't let it dissuade you from putting stuff out there though! Also, check out base-ui. Radix is fine, but base ui has generally better primitives and is being actively developed", "context": "", "use_case": "", "switched_from": "", "story": "LiftKit \u2013 UI where \"everything derives from the golden ratio\""}, {"id": 751273713, "item_id": 46954607, "url": "https://news.ycombinator.com/item?id=46954607", "by": "Garrett_Mack", "date": "2026-02-09", "stance": "recommend", "quote": "Rebuilding with radix primitives", "excerpt": "Hi everyone, I'm the creator of LiftKit. This project is EXTREMELY early and, as everyone has pointed out, not ready for production use. It's a solo project I work on in my free time. I'm a self-taught, so a lot of the weird choices you're seeing can be attributed to the decisions of someone who had never built something like this before. LIFTKIT IS FREE AND OPEN SOURCE. The website's just out of date. https://github", "context": "", "use_case": "Accessible UI primitives", "switched_from": "", "story": "LiftKit \u2013 UI where \"everything derives from the golden ratio\""}, {"id": 747064785, "item_id": 46691549, "url": "https://news.ycombinator.com/item?id=46691549", "by": "virtujoel", "date": "2026-01-20", "stance": "neutral", "quote": "This is why there's so much complexity in libraries like Radix", "excerpt": "This library doesn't appear to be accessible. Just looking at two random components: The Drawer (https://daisyui.com/components/drawer/) doesn't trap focus inside itself (letting you tab to the page behind the drawer while it's open). The Accordion (https://daisyui.com/components/accordion/) first example is using radio buttons as a hack to avoid Javascript, which would be very confusing to screen reader users (annou", "context": "", "use_case": "", "switched_from": "", "story": "The Overcomplexity of the Shadcn Radio Button"}, {"id": 747062401, "item_id": 46691400, "url": "https://news.ycombinator.com/item?id=46691400", "by": "virtujoel", "date": "2026-01-20", "stance": "neutral", "quote": "(I haven't used Radix so I'm unsure how well they do a11y)", "excerpt": ">I suppose accessibility can be considered \"features\", but I'm strongly suspecting that the overcomplex button has worse accessibility. Accessibility is incredibly hard to get right, particularly managing screen reader announcements, focus management and form validation. I recently had to build a website that met WCAG 2.1 requirements and it was made significantly easier by using React Aria (https://react-aria.adobe.", "context": "", "use_case": "", "switched_from": "", "story": "The Overcomplexity of the Shadcn Radio Button"}, {"id": 747045408, "item_id": 46690338, "url": "https://news.ycombinator.com/item?id=46690338", "by": "mcintyre1994", "date": "2026-01-20", "stance": "compare", "quote": "the radix/shadcn version enables", "excerpt": "Out of interest what's an example of styling that the radix/shadcn version enables that their approach doesn't? I was able to (AFAICT) replicate the radix docs example by just moving their styles around: https://codepen.io/mcintyre94/pen/pvbPVrP", "context": "", "use_case": "", "switched_from": "", "story": "The Overcomplexity of the Shadcn Radio Button"}, {"id": 747043584, "item_id": 46690224, "url": "https://news.ycombinator.com/item?id=46690224", "by": "mcintyre1994", "date": "2026-01-20", "stance": "recommend", "quote": "which has better styling than the shadcn one", "excerpt": "I think this is the equivalent of the radix demo (which has better styling than the shadcn one) in plain html/css: https://codepen.io/mcintyre94/pen/pvbPVrP Copied styles from the radix docs: https://www.radix-ui.com/primitives/docs/components/radio-group", "context": "", "use_case": "Headless UI primitives", "switched_from": "", "story": "The Overcomplexity of the Shadcn Radio Button"}, {"id": 747029840, "item_id": 46689365, "url": "https://news.ycombinator.com/item?id=46689365", "by": "Alupis", "date": "2026-01-20", "stance": "neutral", "quote": "It does seem the complexity was a deliberate decision.", "excerpt": "Perhaps this is the original PR for the Radio/RadioGroup[1]. It does seem the complexity was a deliberate decision. [1] https://github.com/radix-ui/primitives/pull/121", "context": "", "use_case": "", "switched_from": "", "story": "The Overcomplexity of the Shadcn Radio Button"}, {"id": 746225346, "item_id": 46639084, "url": "https://news.ycombinator.com/item?id=46639084", "by": "joshcsimmons", "date": "2026-01-15", "stance": "neutral", "quote": "shifting over to radix after the layoff news", "excerpt": "IDK I've been using opus 4.5 to create a UI library and it's been doing pretty well: https://simsies.xyz/ (still early days) Granted it was building ontop of tailwind (shifting over to radix after the layoff news). Begs the question? What is a lego?", "context": "", "use_case": "", "switched_from": "Tailwind", "story": "Claude is not a senior engineer (yet)"}, {"id": 744750818, "item_id": 46546926, "url": "https://news.ycombinator.com/item?id=46546926", "by": "pembrook", "date": "2026-01-08", "stance": "recommend", "quote": "Radix/Shadcn (which uses tailwind for styling of course) that killed the need to buy Tailwind\u2019s UI kits by offering all these primitives with good default styling for free", "excerpt": "I love tailwind, but I think it\u2019s disingenuous for Adam to claim that \u201cAI\u201d killed the tailwind UI kit business. Ultimately it was Radix/Shadcn (which uses tailwind for styling of course) that killed the need to buy Tailwind\u2019s UI kits by offering all these primitives with good default styling for free. Also, the tailwind UI stuff feels pretty dated at this point in comparison to what\u2019s offered in other free UI librari", "context": "", "use_case": "UI primitives", "switched_from": "", "story": "Google AI Studio is now sponsoring Tailwind CSS"}]}