Overview
Headless UI is a set of completely unstyled, fully accessible UI components built by the Tailwind CSS team. It covers the widgets that need JavaScript: menus, listboxes, comboboxes, switches, disclosures, dialogs, popovers, radio groups, tabs and transitions, plus form field helpers. You style everything with Tailwind classes, using data attributes for states such as open, active or checked.
It exists as @headlessui/react and @headlessui/vue. Headless UI v2.0 (May 2024) and v2.1 (June 2024) were announced on the Tailwind blog as React releases, adding floating UI anchoring, simpler transitions and multi-dialog support, so the React package is the more current of the two. The repository was created in 2020 and the main contributor is Tailwind Labs engineer Robin Malfait.
Compared with Radix, Base UI or React Aria, the component set is small, so projects needing date pickers, sliders or tables will combine it with other libraries. On 9 September 2026 Tailwind Labs announced it was joining Shopify; the post says nothing changes for its open-source projects, which stay MIT-licensed and maintained by the team.
Pricing and plans
| Plan | Price | What you get |
|---|---|---|
| Open source | Free | MIT licence |
What it does
- Accessible widgets
- Menu, Listbox, Combobox, Switch, Disclosure, Dialog, Popover, Radio Group and Tabs.
- Data-attribute states
- Style open, focus, active and checked states with Tailwind data-* variants.
- Anchoring
- React v2 positions dropdowns and popovers relative to their trigger.
- Transitions
- Built-in enter and leave transitions that work with Tailwind classes.
- Insiders builds
- An insiders npm tag tracks the latest main-branch commit.
Strengths and limitations
Strengths
- Made by the Tailwind team to fit Tailwind styling
- Supports both React and Vue
- Small API that is quick to learn
- MIT licence
Limitations
- Small component set compared with Radix, Base UI or React Aria
- Recent major releases (v2) were announced for React only
- No styled defaults; you write all the Tailwind markup
- Release pace has been slow since 2024
Who it suits
Good for
- Tailwind projects needing a few accessible interactive widgets
- Vue apps on Tailwind
- Existing Tailwind Plus and Catalyst users
Look elsewhere if
- Apps needing many complex widgets such as date pickers or data grids
- Svelte or Angular projects
Alternatives to Headless UI
| Tool | From | Free option | Stages |
|---|---|---|---|
| PrimeReact React component suite (commercial licence from v11) | — | Free tier | |
| PrimeVue Vue component suite (commercial licence from v5) | — | Free tier | |
| Angular Material Official Material Design components for Angular | — | ||
| Flowbite Tailwind CSS components with vanilla JS, plus paid Pro kit | — | Free tier | |
| Base UI Unstyled accessible React components | — | ||
| Nuxt UI Styled Vue component library on Reka UI and Tailwind | — |
Questions
Is Headless UI still maintained after Tailwind joined Shopify?
Tailwind Labs said on 9 September 2026 that its open-source projects stay MIT-licensed and maintained by the team.
Does Headless UI work with Vue?
Yes, through @headlessui/vue, although the v2 releases were announced for React.
Headless UI or Radix?
Headless UI is smaller and Tailwind-oriented and supports Vue; Radix covers more components but is React only.
Sources read for this page