UI & Components
The market has largely settled on unstyled, accessible primitives plus your own styling, rather than a themed component kit you fight with later. These are the primitives, the systems built on them, and the CSS layer underneath.
6tools
- Base UIHeadless React components from the teams behind MUI, Radix and Floating UIbase-ui.com
- Chakra UIStyled, accessible components driven by design tokens rather than overrideschakra-ui.com
- MantineA full styled component library, batteries very much includedmantine.dev
- Radix UIUnstyled React primitives with the accessibility already solvedradix-ui.com
- shadcn/uiComponents you copy into your repo and own outrightui.shadcn.com
- Tailwind CSSUtility-first CSS that keeps styling next to the markuptailwindcss.com
Head to head
UI & Components, compared
These sit at different layers — read the first two columns together before comparing.
| Tool | Layer | Styling | Arrives as | Customising means |
|---|---|---|---|---|
| Base UI | Primitives | Unstyled | A dependency | Your own CSS |
| Chakra UI | Component kit | Styled | A dependency | Tokens and recipes |
| Mantine | Component kit | Styled | A dependency | Theme overrides |
| Radix UI | Primitives | Unstyled | A dependency | Your own CSS |
| shadcn/ui | Components | Tailwind | Source in your repo | Editing your own file |
| Tailwind CSS | Styling | Utilities | A build step | Config and tokens |