mrkeyoor.com_
Thu 05 Nov 17:55 UTC
Webevaluationupdated 25 Oct 2026

chakra-ui review

Chakra UI is a React component system for web apps and design systems. Its README describes the components as accessible; that is a project claim, not a guarantee that an application built with them meets its accessibility requirements. The installation guide documents Emotion styling at runtime, generated snippets, and an application provider.

+5stars / 7d
Verdict

Chakra UI is worth evaluating for a React team that wants shared components and theming and accepts Emotion at runtime. Our September 21, 2026 run at commit 55aee43 completed dependency installation, build, and test commands successfully. Its Vitest summary reported 1,063 passing tests, but that result does not establish complete coverage, application performance, or accessibility compliance. Budget separately for contributor dependencies and a v2 source migration. Before adopting it, build a representative application screen and check its routing, keyboard behavior, and styling.

We ran it

Lab card: what happened when we ran chakra-uiScreenshot of chakra-ui (chakra-ui.com)
Install✓ · 54s2166 packages · 1712 MB
Build✓ · 97s
Tests✓ · 82s1063 passed · 0 failed of 1063 (vitest)
Repo3849 files~194,191 lines of source · 161.8 MB · 3 CI workflows

Answers from our run

Does chakra-ui build from source?

Dependencies installed in 54 seconds (2166 packages), and the build succeeded in 97 seconds. We cloned commit 55aee43 into a clean Debian container with 3 CPUs and no project-specific setup.

Do chakra-ui's tests pass?

Yes. The project's own test command finished in 82 seconds and reported 1063 passed, 0 failed (vitest).

Who should not use chakra-ui?

Teams that require zero-runtime styling today: the installation guide describes that model as a long-term direction.

What are the alternatives to chakra-ui?

Material UI, Mantine. Chakra UI is worth evaluating for a React team that wants shared components and theming and accepts Emotion at runtime.

Setup3/5The guide documents packages, snippets, provider, and compiler configuration. Our September 21, 2026 contributor run installed successfully in 54 seconds with 2,166 packages and a 1,712 MB dependency footprint; consumer setup was not measured.
Docs4/5The supplied installation and v3 migration guides give concrete setup steps, migration mappings, and a codemod preview option. Documentation breadth and every example were not independently tested.
Community2/5The supplied commit and issue extracts show public contributions and discussion. They do not establish current adoption, support responsiveness, or a verified current issue count.
Maturity3/5Install, build, and test commands succeeded at commit 55aee43 on September 21, 2026. The reported 1,063 passes do not establish exhaustive coverage, and the supplied issues require version-specific application checks.

Discussed on

  1. hnChakra UI – Modular and accessible UI components for React apps184 points
  2. hnChakra UI v1 Released – Build accessible React apps with speed12 points
  3. hnChakra UI: simple, modular and accessible React component library5 points
  4. hnChakra UI v34 points
  5. hnChakra UI React – V13 points

Who it’s for

React teams that want a shared component and styling system.
Engineers comfortable adding Emotion and a provider to their application.
Chakra v2 maintainers prepared to review changes to themes, props, imports, and component composition.
Contributors who can accommodate the recorded monorepo dependency footprint.

Who it’s NOT for

Teams that require zero-runtime styling today: the installation guide describes that model as a long-term direction.
Chakra v2 applications expecting a drop-in upgrade to v3.
Contributors whose disk budget cannot accommodate the 1,712 MB dependency footprint recorded in our run.
Teams that need this review to establish browser compatibility, application performance, or accessibility compliance: our recorded run did not establish those outcomes.

Setup reality

In our recorded run on September 21, 2026, commit 55aee43 installed dependencies successfully in 54 seconds, with 2,166 packages and a recorded dependency footprint of 1,712 MB. The build command succeeded in 97 seconds. The test command succeeded in 82 seconds; its stored Vitest summary reported 1,063 passed, 0 failed, and 0 skipped. These are contributor-checkout observations, not measurements of adding Chakra UI to an application. The counts were not reconciled against complete logs to establish exhaustive unique test coverage.

The recorded configuration specifies 3 CPUs, 8 GB of memory, and image lab-node:22. The image name does not establish the actual Node runtime version, and the raw detection record lists nodeMajor 24. We therefore do not assign a verified runtime version to this run. The install output records pnpm 11.10.0.

For application setup, the installation guide shown as 3.37.0 requires Node.js 20.x or newer. It documents installing @chakra-ui/react and @emotion/react, adding snippets, wrapping the app with the generated provider, and updating compiler settings. That provider combines ChakraProvider with next-themes. We did not repeat these consumer setup steps or verify a separately installed CLI binary.

Chakra UI review: application setup and contributor footprint

Adding Chakra UI to an application and building its repository are different jobs. The installation guide names two packages, then requires snippets, a provider, and compiler configuration. Our recorded repository run downloaded 2,166 packages. That larger number describes contributor dependencies, not the dependency count or browser payload of a consumer application.

Chakra UI describes itself as a component system for React web apps and design systems. Its migration guide documents tokens, recipes, slot recipes, and compound components. Those pieces make it a candidate for teams that want to define shared interface rules. Whether they suit your product needs an application trial; the repository build cannot answer that question.

What our recorded run establishes

On September 21, 2026, our stored run used commit 55aee43ad25aab61b898f51e0b72f6b0a90df1be. Dependency installation completed successfully in 54 seconds. The recorded dependency count was 2,166, with a footprint of 1,712 MB. The build command completed successfully in 97 seconds, and the test command completed successfully in 82 seconds.

The stored Vitest summary reported 1,063 passed, 0 failed, and 0 skipped across 88 test files. These are reported results from that command. No new execution or complete-log reconciliation was performed, so they do not establish exhaustive unique test coverage. The test tail also contains a React warning about an update not wrapped in act(...); the command still exited successfully. The wrapper's roughly 82-second elapsed time differs from Vitest's own reported duration of 79.32 seconds.

The checkout metrics were 3,849 files, approximately 194,191 lines of source, and 161.8 MB before dependency installation. Detection identified workspaces and 3 CI workflows, with no Dockerfile, Compose file, or top-level tests directory. Tests appeared under package-level tests paths, so the missing top-level directory does not mean the repository lacks tests.

The recorded sandbox configuration was 3 CPUs, 8 GB of memory, and image lab-node:22. That image label is not verification of Node 22: the raw detection record separately lists nodeMajor 24. The actual runtime version remains unverified here. The install tail records pnpm 11.10.0 and React and React DOM 19.2.6; those installed versions do not establish the package's minimum supported React version.

The build tail shows generated JavaScript and type definitions, plus local Chakra CLI execution for theme ejection and type generation. It does not establish that a standalone CLI was installed and checked outside the workspace. No consumer bundle, rendering workload, browser matrix, or security audit result was recorded.

Application setup still uses Emotion at runtime

The supplied installation guide displays version 3.37.0 and requires Node.js 20.x or newer. It documents installing @chakra-ui/react and @emotion/react, adding snippets with the CLI, and wrapping the application with the generated provider. The provider combines ChakraProvider for styling with ThemeProvider from next-themes for color mode. TypeScript projects also receive compiler configuration instructions.

The guide explicitly says Chakra UI uses Emotion at runtime today. Its zero-runtime styling model is a long-term direction inspired by Panda CSS, with no delivery date established by this evidence. If runtime styling conflicts with your requirements, evaluate that constraint before investing in a Chakra theme. Our monorepo measurements do not quantify Emotion's browser cost or the size of an application using Chakra.

A v2 migration changes application source

The v3 migration guide recommends a codemod for component renames, prop changes, import updates, and compound component restructuring. It documents a dry preview before modifying files. Review that preview before applying the migration.

The documented changes include isOpen becoming open, colorScheme becoming colorPalette, Modal becoming a compound Dialog, and token values gaining value wrappers. Recipes and slot recipes replace style configuration. The guide also removes the old icons package and changes hooks and other components.

These changes justify treating migration as application work. Our repository test result cannot establish that your v2 wrappers, custom theme, or screens retain their behavior and appearance. The supplied @chakra-ui/react 3.37.0 release extract documents component additions and fixes; it does not substantiate the earlier claim that this release batch fixed codemod preview and import transforms.

Check the behavior your application depends on

Issue 11003 reports that programmatic selection in controlled Tabs can click an anchor trigger and cause navigation in Chakra UI 3.37.0. This is a user report, not a behavior we reproduced. An October 13, 2026 comment says an upstream change is present on main but had not yet reached a Chakra release. That comment does not verify a released fix or establish the status of the previously mentioned pull request. Test your exact package version and routing composition before relying on linked tabs.

The supplied Button issue 10929 is closed as not planned, with a September 29, 2026 automated inactivity closure. Its discussion contains implementation references and earlier status changes. Those references alone do not establish whether accessibleWhenDisabled is available in a particular released package. The issue should not be presented as a currently open feature request with an open fix.

Neither issue supports a current total of open issues or pull requests. This review therefore makes no current queue-size or adoption claim.

Alternatives and the next useful check

Material UI's README identifies it as an implementation of Google's Material Design system and names MUI X as its extension for complex components. Choose that direction when Material Design is a requirement. Mantine's README lists core components, hooks, forms, notifications, and charts among its packages. Evaluate it when that package mix matches your interface needs. These are documented roles, not comparative performance or accessibility results.

For Chakra UI, start with a representative screen using your actual theme and routing. Check keyboard interaction, focus after overlays close, and any controlled linked tabs. For a v2 application, review the codemod preview and compare the migrated screen visually. These are recommended next steps, not tests performed for this review.

How the ratings work

Scores are editorial judgments about the supplied evidence, not benchmark grades. The scale is 1 for substantial demonstrated obstacles, 2 for limited supporting evidence, 3 for a documented path with material work or uncertainty, 4 for detailed documentation or successful recorded checks with bounded limitations, and 5 for broad, independently corroborated evidence across the relevant use cases. Unknown adoption or compatibility does not earn a high score.

Setup receives 3 because the application path has several configuration steps and the contributor run has a substantial dependency footprint. Documentation receives 4 for the supplied installation and migration instructions, without claiming that every guide was checked. Community receives 2 because the extracts show public contributions and issue discussion but do not establish adoption or support responsiveness. Maturity receives 3 because the recorded commands succeeded while application compatibility and coverage remain unverified.

Alternatives

ProjectWhat it isPick it when
Material UI gh↗A React component library implementing Google's Material Design system.Choose Material UI when your interface should follow Material Design. Its README also identifies MUI X as an extension for complex component use cases.
Mantine gh↗A React library project with core components, hooks, and packages for forms and other interface needs.Choose Mantine when you want to evaluate components and hooks alongside dedicated form, notification, or chart packages from the same project.

What people are saying

  1. [velocity-scout] chakra-ui/chakra-ui

Sources

  1. Chakra UI repository and README
  2. Measured Chakra UI commit 55aee43
  3. Chakra UI installation guide
  4. Chakra UI v3 migration guide
  5. Chakra UI 3.37.0 release
  6. Tabs programmatic-selection issue 11003
  7. Button accessibleWhenDisabled issue 10929

More web reviews

ungoogled-chromium · docsify · ScanRuler · tornado · phaser · meteor · the whole board →