Skip to content
Ark UI logo

Ark UI

Universal headless UI components powered by Zag.js state machines. Works seamlessly across React, Vue, and Svelte.

Ark UI Preview

Overview

Ark UI is an open-source, framework-agnostic headless UI library developed by the Chakra UI team. Powered by Zag.js state machines, Ark UI guarantees identical, bug-free component behavior across React, Vue, and Svelte.

It handles the state transitions, focus trapping, and ARIA attributes under the hood while leaving all visual styling completely to you.

Key Features

  • 🤖 State Machine Architecture: Component logic is modeled as finite state machines via Zag.js, preventing race conditions and UI state bugs.
  • 🔄 Universal Framework Support: Write design systems that seamlessly share identical behaviors across React, Vue, and Svelte.
  • 🎨 100% Headless: Ships with zero CSS runtime overhead; style with Tailwind CSS, Panda CSS, or Vanilla CSS.
  • ♿️ Enterprise-Grade Accessibility: Fully compliant with WAI-ARIA authoring practices.

Installation & Quick Start

# React
npm install @ark-ui/react

# Vue
npm install @ark-ui/vue

# Svelte
npm install @ark-ui/svelte

React Accordion Example

import { Accordion } from '@ark-ui/react'

export const Demo = () => (
  <Accordion.Root defaultValue={['react']}>
    <Accordion.Item value="react">
      <Accordion.ItemTrigger>Why Ark UI?</Accordion.ItemTrigger>
      <Accordion.ItemContent>
        Powered by state machines for flawless cross-framework reliability.
      </Accordion.ItemContent>
    </Accordion.Item>
  </Accordion.Root>
)

When to Choose

  • Ideal For: Cross-framework design systems (teams using both React and Vue/Svelte), complex UI components with tricky state transitions, and Panda CSS users.
  • Alternatives: For React-only projects, Radix UI is the dominant standard.

Comments & Discussion

0 comments
Share your experience, thoughts, or suggestions...

No comments yet. Be the first to share your experience or thoughts!

Related libraries

Curated by category & stack