Headless UI

headlessui.dev

Unstyled, accessible UI primitives for React and Vue — keyboard and ARIA built in.

Overview

Headless UI is a collection of completely unstyled, fully accessible UI components built to work seamlessly with Tailwind CSS. The library provides a foundation of interactive components without opinionated styling, allowing developers to apply their own design system.

The components are designed with accessibility as a core principle, supporting keyboard navigation, ARIA attributes, and screen reader compatibility. Headless UI offers support for both React and Vue, making it flexible for different project needs.

Key features

  • Completely unstyled components
  • Fully accessible (WCAG compliant)
  • Keyboard navigation support
  • ARIA attributes included
  • React and Vue support
  • Tailwind CSS integration
  • Dropdown menus
  • Dialogs and modals
  • Tabs and transitions
  • Form components
Pros
  • No styling overhead to override
  • Built-in accessibility features
  • Works perfectly with Tailwind CSS
  • Supports multiple frameworks
  • Lightweight and composable
Cons
  • Requires custom styling implementation
  • Steeper learning curve for styling integration
  • Limited to React and Vue
Use this if
You need accessible, unstyled UI components that integrate with Tailwind CSS or you want full control over component styling.
Skip this if
You need pre-styled components out of the box or you're not using React or Vue.

Best for

Building custom UI components with Tailwind CSSProjects requiring accessible interactive elementsDevelopers wanting unstyled component foundationsReact and Vue applications

Alternatives

Radix UIshadcn/uiMaterial-UIChakra UI

Compare Headless UI alternatives

More Component

Compare all
View Radix Icons
Radix Icons

Crisp 15×15 icon set for interface design.

View React Router
React Router

Declarative routing library for React apps with nested routes and data APIs.

View Vercel AI Elements
Vercel AI Elements

Vercel AI SDK component library on shadcn/ui for AI-native apps.

View Radix UI
Radix UI

Unstyled, accessible React primitives for dialogs, menus, tabs, and form controls.