Skip to content
JS
Comparison

zustand vs constate

State managementPackage data 25 Sept 2026
zustandv5.0.15, 13 Aug 2026

🐻 Bear necessities for state management in React

$ npm install zustand
constatev4.0.0, 27 May 2026

Yet another React state management library that lets you work with local state and scale up to global state with ease

$ npm install constate
MetriczustandconstateDifference
Weekly downloads40,077,624217,483zustand 184.3x higher
12-month download growth+295%+19%zustand +276 pts
Gzip size---
Minified size---
Dependencies00Same
Unpacked size93 kB18 kBconstate 5.1x smaller
Latest release5.0.15, 13 Aug 20264.0.0, 27 May 2026zustand 3 months more recent
Releases, last 12 months7--
First published9 Apr 2019--
GitHub stars58,7374,007zustand 14.7x higher
Open issues25constate 3 more
Open pull requests51zustand 4 more
Contributors344--
Commits, last 52 weeks128180constate +41%
TypeScript typesBundledBundledSame
Module formatESM + CommonJSESM onlyDiffers
Runtimes---
LicenseMITMITSame

Green marks the smaller size or the more recent release. Bold marks the higher count, with no judgement implied. Sizes are for the whole package per Bundlephobia. Growth compares the average of the last 4 weeks with the first 4 weeks of the 52-week series.

zustand39.8m latest weekconstate217.5k latest week
Week of 23 Sept 2025Week of 15 Sept 2026
Weekly npm downloads, 52 weeks. Y axis starts at zero. Values are not smoothed.

zustand

Major versions
  1. 0.0.19 Apr 2019
  2. 1.0.028 Jun 2019
  3. 2.0.09 Oct 2019
  4. 3.0.017 Aug 2020
  5. 4.0.026 Jul 2022
  6. 5.0.014 Oct 2024
Last 5 releases
  1. 5.0.1513 Aug 2026
  2. 5.0.1428 May 2026
  3. 5.0.135 May 2026
  4. 5.0.1216 Mar 2026
  5. 5.0.111 Feb 2026
123 releases in total, 7 in the last 12 months

constate

Major versions
  1. -
Last 5 releases
  1. -
Release count not fetched
zustand

-

constate

-

zustand

-

constate

-

  • Need no runtime dependenciesBoth
  • Need both ESM and CommonJS entry pointszustand (zustand: ESM + CommonJS; constate: ESM only)
  • Need to load it with require()zustand
  • Need TypeScript types in the package itselfBoth
  • Node.js version requirementzustand: >=12.20.0; constate: none declared (engines field in package.json)
  • Need the more recent releasezustand (5.0.15 on 13 Aug 2026 vs 4.0.0 on 27 May 2026)
  • Higher weekly npm downloadszustand (40.1m vs 217.5k)

Each line is generated from the data above.

constate: constate npm registry, constate npm downloads, constate GitHub. Data fetched 25 Sept 2026.

Indexability: Indexed.