chakra-ui

Accessible, themeable React UI components built on Ark UI primitives with a Panda CSS-powered styling engine.

Library
npm
v3.37.0
40,700 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
91 /100 Excellent
Development Activity 96
Maintenance 100
Community 68
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
87 /100 Excellent
Architecture 88
Code Quality 90
Innovation 78
Learning Curve 90

Chakra UI is a React component library for building accessible, high-quality web apps and design systems with speed. The @chakra-ui/react package ships over 100 components — from primitives like Box and Stack to composite pieces like Combobox, DatePicker, Carousel, and ColorPicker — all built on top of Ark UI’s headless, WAI-ARIA-compliant primitives, so interaction and accessibility logic is inherited rather than reimplemented per component.

Styling runs through an internal recipe-based engine (forked from Emotion, extended with Panda CSS-aware style props and design tokens) that lets every component be restyled through design tokens, semantic tokens, and slot recipes without ejecting to raw CSS. The project is a small monorepo alongside companion packages (@chakra-ui/cli for codemods and typegen, @chakra-ui/panda-preset for using the design system with Panda CSS directly, @chakra-ui/charts for chart primitives, and @chakra-ui/react-mcp, a Model Context Protocol server that exposes the component API to AI coding assistants).

What You Get

  • Over 100 pre-built, accessible React components covering layout, forms, overlays, navigation, data display, and feedback (Button, Combobox, DatePicker, Carousel, ColorPicker, Drawer, and more)
  • A recipe-based styling engine with design tokens, semantic tokens, and slot recipes for theming every component without writing raw CSS
  • First-class integration with Ark UI headless primitives, so components inherit WAI-ARIA-compliant keyboard/focus/screen-reader behavior rather than reimplementing it
  • A companion @chakra-ui/cli package for typegen and automated codemods when upgrading between major versions
  • A @chakra-ui/panda-preset package to use Chakra’s design tokens directly inside a Panda CSS setup
  • A @chakra-ui/react-mcp Model Context Protocol server that lets AI coding assistants query the live component API

Common Use Cases

  • Bootstrapping a production web app’s UI layer with accessible components out of the box, without a design system built from scratch
  • Building an internal design system on top of Chakra’s theming/recipe primitives instead of a raw CSS-in-JS library
  • Composing custom, brand-specific component variants via slot recipes and semantic tokens while keeping Ark UI’s accessibility guarantees
  • Migrating between Chakra major versions using the bundled @chakra-ui/cli codemods
  • Adding AI-assisted development workflows via the @chakra-ui/react-mcp server for component/API lookups inside an editor

Under The Hood

Architecture

Chakra UI’s @chakra-ui/react package sits in a small monorepo (packages/react, panda-preset, cli, codemod, charts) that separates a low-level styling engine from the component layer: src/styled-system/factory.tsx forks Emotion’s styled implementation to bridge className generation with React’s style-tag hoisting, while create-recipe-context.tsx and recipe-props.tsx wire component variants to Panda-CSS-style recipes. Every component under src/components/* composes these primitives with an equivalent headless component from Ark UI rather than owning its own DOM/ARIA behavior, giving a layered structure — Ark UI handles interaction and accessibility state, the styled-system layer handles styling and theming, and the component layer is a thin, typed wrapper (context-based prop providers, e.g. createRecipeContext in button.tsx) that connects the two. Changing the core recipe/token engine ripples through all components, but each component itself stays small and independently swappable.

Tech Stack

Written entirely in TypeScript with tsgo for fast type-checking, the package builds on Emotion (@emotion/react, @emotion/serialize, @emotion/utils) for CSS-in-JS, Ark UI (@ark-ui/react) for headless accessible primitives, and @pandacss/is-valid-prop for design-token-aware style props. The monorepo uses pnpm workspaces with Changesets for versioning and release, a custom bundler script for ESM/CJS/type-declaration output, Storybook for component development, and a separate Next.js documentation site for the public docs.

Code Quality

Testing uses Vitest with @testing-library/react and vitest-axe, which extends every test’s assertions with automated accessibility checks, plus dedicated benchmark files for performance-sensitive utilities. Dozens of test files cover styling utilities, ref-merging behavior across React versions, and individual components. TypeScript runs in strict mode, ESLint and Prettier are enforced via Husky pre-commit hooks, and CI runs a dedicated quality workflow on every change. Naming and typing stay consistent (explicit prop interfaces per component), and error handling favors typed context errors over silent failures.

What Makes It Unique

Rather than building its own headless interaction layer, Chakra UI’s current major version was rebuilt on top of Ark UI — a separate headless component library from the same maintainers — with Panda-CSS-derived design tokens and recipes layered on top, decoupling what a component does from how it looks more thoroughly than most comparable kits. Accessibility isn’t just documented; it’s enforced in CI through automated axe assertions on the real component test suite. The project also ships a Model Context Protocol server package that lets AI coding assistants query the component API directly, an unusual investment in AI-tooling integration for a UI library at this stage.

Used by 20 apps in this directory

TypeScript
91%
Other

FastGPT

AI Agents · AI Development

29,900

Build, debug, and deploy knowledge-based AI agents with a visual workflow editor, RAG retrieval, and support for any OpenAI-compatible LLM.

View details
93
Repo Health
84
Technical
66
Dependency
Built with
TypeScript 91%
Updated 5 days ago
TypeScript
91%
Other

FastGPT

AI Agents · AI Development

29,900

Build, debug, and deploy knowledge-based AI agents with a visual workflow editor, RAG retrieval, and support for any OpenAI-compatible LLM.

View details
93
Repo Health
84
Technical
66
Dependency
Built with
TypeScript 91%
Updated 5 days ago
TypeScript
91%
Other

FastGPT

AI Agents · AI Development

29,900

Build, debug, and deploy knowledge-based AI agents with a visual workflow editor, RAG retrieval, and support for any OpenAI-compatible LLM.

View details
93
Repo Health
84
Technical
66
Dependency
Built with
TypeScript 91%
Updated 5 days ago
TypeScript
91%
Other

FastGPT

AI Agents · AI Development

29,900

Build, debug, and deploy knowledge-based AI agents with a visual workflow editor, RAG retrieval, and support for any OpenAI-compatible LLM.

View details
93
Repo Health
84
Technical
66
Dependency
Built with
TypeScript 91%
Updated 5 days ago
TypeScript
91%
Other

FastGPT

AI Agents · AI Development

29,900

Build, debug, and deploy knowledge-based AI agents with a visual workflow editor, RAG retrieval, and support for any OpenAI-compatible LLM.

View details
93
Repo Health
84
Technical
66
Dependency
Built with
TypeScript 91%
Updated 5 days ago
Python
71%
MIT

Langflow

AI Agents · AI Development

155,973

Build, test, and deploy AI agents and RAG workflows visually with native API and MCP server export.

View details
90
Repo Health
85
Technical
64
Dependency
Built with
Python 71%
TypeScript 21%
Updated 5 days ago
Python
71%
MIT

Langflow

AI Agents · AI Development

155,973

Build, test, and deploy AI agents and RAG workflows visually with native API and MCP server export.

View details
90
Repo Health
85
Technical
64
Dependency
Built with
Python 71%
TypeScript 21%
Updated 5 days ago
Go
36%

OpenPanel

Devops · Hosting Control Panel

764

Docker-powered web hosting control panel that gives every user a fully isolated environment with dedicated web server, database, and networking — VPS-grade security on shared hardware.

View details
87
Repo Health
75
Technical
63
Dependency
Built with
Go 36%
HTML 30%
TypeScript 24%
Updated 6 days ago
Go
36%

OpenPanel

Devops · Hosting Control Panel

764

Docker-powered web hosting control panel that gives every user a fully isolated environment with dedicated web server, database, and networking — VPS-grade security on shared hardware.

View details
87
Repo Health
75
Technical
63
Dependency
Built with
Go 36%
HTML 30%
TypeScript 24%
Updated 6 days ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers