Accessible, unstyled components as the basis for your own design systems.
Radix UI provides the invisible but trickiest half of components like dialogs, menus and tabs. It takes care of focus handling, keyboard operation and the right ARIA roles, exactly the details where hand-built components tend to fall down. The look stays entirely up to you, because Radix ships only behaviour, no styling. So you design freely and fully in keeping with the brand, without compromising on accessibility.
More in the documentationWhenever an application needs overlays, dropdowns or tabs, we build on Radix instead of laboriously recreating the behaviour ourselves. That hands you keyboard operation and correct ARIA roles for free, so you can focus on the look. It saves time and makes your interface accessible from the start.
Good to know
Radix components ship deliberately without styling, and that is a feature, not a shortcoming. Through the asChild prop you pass the behaviour onto your own element, instead of fighting predefined markup.
More tools we work with in the same area.
React
Our preferred UI framework for interactive, component-based interfaces.
Next.js
The React meta-framework for SSR, routing and top-tier performance.
Angular
A structured framework for large, long-lived enterprise applications.
Vue
A lean, approachable framework for fast, reactive UIs.
Svelte & SvelteKit
A compiled framework for especially lean, fast interfaces.
Astro
Content-focused sites with minimal JavaScript and top performance.
You don't have to decide that, it's our job. Tell us about your plans.