Bear necessities for React state

A tiny, predictable store with hooks-first ergonomics and escape hatches that stay out of your way.

npm
yarn
pnpm
bun
deno
npm install zustand

Minimal API, fast adoption

Create a store with a single hook, subscribe with selectors, and avoid boilerplate or providers.

Safe under React concurrency

Built to avoid zombie children and tearing issues while keeping renders predictable.

Works across React and vanilla

Share stores between React, React Native, and non-React environments with the same API surface.

Batteries included

Opt into devtools, persistence, Redux-style middleware, and Immer without changing your mental model.

TypeScript-first ergonomics

Strongly typed helpers and patterns so your state and actions stay inferred.

Small footprint

Tiny bundle size with zero config and performance that keeps pace in production.