Introduction

The headless components for Svelte.

llms.txt

Bits UI is a headless component library for Svelte focused on developer experience, accessibility, and full creative control. Use it to build high-quality, accessible UIs without giving up styling freedom or performance.

A webpage promoting learning to build custom components. The left side has a dark background with the text "Documentation" at the top, and a large heading "Learn how to build own components" with a "Get started" button below. The right side shows a stylized mobile app interface with a dark gray background. Inside the app is a light pink card displaying "Total distance" and "312 km". Below this are bar graphs for "Mon" to "Sun", with activity shown for Monday through Thursday and dotted outlines for Friday through Sunday. At the bottom of the card is a horizontal slider with a circle indicating a selection. A small, dark purple label with "Dev" written on it points to this slider.

Why Bits UI?

Bring Your Own Styles

Most components ship completely unstyled, with the exception of those required for core functionality. No CSS resets, no design system assumptions. You bring the styles using standard class props or data-* attributes. See the styling guide.

Building for Developer Experience

Everything is designed to stay out of your way:

  • Full TypeScript coverage
  • Stable, predictable APIs
  • Flexible event override system
  • Great defaults, easily overridden
  • Comprehensive documentation and examples

Production-Ready Accessibility

Accessibility isn't just an afterthought - it's baked in:

  • WAI-ARIA compliance
  • Keyboard navigation by default
  • Focus management handled for you
  • Screen reader support built-in

Composable by Design

Components are primitives, not black boxes. They compose cleanly and play well together:

  • Render Delegation for total flexibility
  • Chainable events and callbacks
  • Override-friendly defaults
  • Minimal dependencies

Community

Bits UI was built and is maintained by Hunter Johnston with design support from Pavel Stianko and his team at Bitworks Studio and tooling support from Adrian Gonz. Contributions, issues, and feedback are always welcome.

Found an issue? Open one. Have a feature request? Let's discuss

Acknowledgments

Built on the shoulders of giants:

  • Melt UI - inspired the internal architecture
  • Radix UI - API design inspiration
  • React Spectrum - inspiration for the date/time components and excellence in accessibility