8 Best Redux Alternatives for 2026

  • Last updated November 15, 2026
  • 8 options compared
  • Prices checked on official sites
Quick answer

Zustand is the best redux alternative for most React teams: it costs $0, ships at about 1KB, needs no provider wrapper, and replaces Redux actions and reducers with one small store hook. Seven of the eight libraries in this list cost $0 with a full free plan, and only XState has a subscription plan, with Stately Pro at $33 per month on an annual plan or $39 per month on a monthly plan. Recoil has not had a release since version 0.7.7 in March 2023, so new React projects should pick Jotai or Zustand instead of starting fresh with Recoil.

Redux Toolkit remains a sound choice for teams that already use it, and the libraries below cover the cases where Redux feels too heavy, too rigid, or tied to the wrong framework. Pick by framework first, then by state model: a single store, atoms, observables, proxies, or state machines.

On this page
  1. Comparison table
  2. 1. Zustand
  3. 2. MobX
  4. 3. Jotai
  5. 4. Recoil
  6. 5. Valtio
  7. 6. XState
  8. 7. Pinia
  9. 8. NgRx
  10. How we chose
  11. Pick by framework and app size
  12. FAQ
  13. Sources

Redux alternatives: comparison table

Swipe the table sideways on a phone to see every column.

#NameBest forStarting priceFree plan / trialLink
1ZustandReact teams that want a small store with no provider$0YesVisit
2MobXObservable class-based state in large apps$0YesVisit
3JotaiAtomic React state with derived atoms$0YesVisit
4RecoilReact atoms and selectors in existing apps$0YesVisit
5ValtioProxy-based mutable state for React and vanilla JS$0YesVisit
6XStateState machines and complex app workflows$0 for the XState libraryYesVisit
7PiniaThe official store for Vue apps$0YesVisit
8NgRxRedux-pattern state for Angular apps$0YesVisit

The 8 best redux alternatives, in detail

1

Zustand

Best for: React teams that want a small store with no provider

Zustand is a small, fast state library from the pmndrs collective, and its whole model fits in one function call. You call create with state and actions, and the result is a hook any component can use, with no provider, action types, or reducers. A vanilla build lets the same store run in plain JavaScript, in tests, or in Node.js code.

Pricing$0
Free plan / trialYes
  • The library stays small at about 1KB, and middleware covers the extras most apps need.
  • The persist middleware saves state to storage, the devtools middleware connects to Redux DevTools, and the immer middleware allows updates with mutabl
  • TypeScript inference works out of the box, and selectors let each component read only the slice of state it needs, which keeps re-renders narrow.
  • Zustand is MIT licensed and costs $0, so there is no license fee at any team size.

Pros

  • About 1KB with no provider wrapper
  • full TypeScript support
  • persist and devtools middleware included

Cons

  • No built-in structure for very large teams
  • DevTools need middleware setup
  • no built-in data fetching

Visit Zustand →

2

MobX

Best for: Observable class-based state in large apps

MobX takes a different path from Redux: instead of dispatching actions through reducers, you mark state as observable and let MobX track which components read it. When an observable changes, only the components that depend on it re-render, which suits apps where state changes in many places. MobX works with classes or plain objects, and it pairs with React through mobx-react-lite, which keeps components lean.

Pricing$0
Free plan / trialYes
  • Actions group related changes, computed values derive new data from state, and reactions run side effects when a value changes.
  • MobX is open source and costs $0.
  • One limit: the automatic tracking that makes MobX easy to start can also make data flow hard to trace in a large app, so teams should agree on where a

Pros

  • Transparent reactivity with observables and reactions
  • works with React, Angular, and Vue
  • mature docs and 10-minute intro

Cons

  • Reactivity can hide data flow in large codebases
  • reactions need care to avoid loops
  • larger than the minimal libraries here

Visit MobX →

3

Jotai

Best for: Atomic React state with derived atoms

Jotai builds global state from atoms, small units of state that components read with the useAtom hook. A primitive atom holds one value, and a derived atom reads other atoms to compute its own value, so state grows bottom-up instead of living in one large store. Renders stay narrow because a component only re-renders when the atoms it uses change.

Pricing$0
Free plan / trialYes
Websitejotai.org
  • The core is 2KB with zero runtime dependencies, and jotai/utils adds atomWithStorage for localStorage persistence, atomWithImmer for draft-style updat
  • Separate extension packages cover tRPC, URQL, Relay, and XState.
  • Jotai requires React 18 or later and Node.js 22.12.0 or later, and TypeScript 5.5 or later when types are used.
  • Jotai is open source and costs $0.

Pros

  • Minimal 2KB core with zero runtime dependencies
  • atoms compose into derived state
  • official extensions for tRPC, Immer, and XState

Cons

  • Atom identity rules take time to learn
  • isolated stores need a Provider
  • atomFamily moved to a separate package in v3

Visit Jotai →

4

Recoil

Best for: React atoms and selectors in existing apps

Recoil came from Meta and introduced many React developers to the atom model that Jotai later refined. State lives in atoms, and selectors derive new values from atoms through pure functions, which gives the app a data-flow graph that runs from atoms through selectors down into components. The useRecoilState hook reads and writes an atom, while useRecoilValue reads a read-only selector.

Pricing$0
Free plan / trialYes
  • Async selectors fetch data with React Suspense, and atomFamily creates atoms keyed by a parameter.
  • Recoil is MIT licensed and costs $0, and existing apps that already use it can keep running it.
  • The trade-off is maintenance: the last release was version 0.7.7 in March 2023, and the docs have not seen a new version since.
  • New projects should treat Recoil as a legacy choice and pick Jotai or Zustand instead.

Pros

  • Atoms and selectors with a clear data-flow graph
  • async selectors with React Suspense
  • MIT licensed with no cost

Cons

  • No release since version 0.7.7 in March 2023
  • every atom key must be a unique string
  • apps must wrap state in RecoilRoot

Visit Recoil →

5

Valtio

Best for: Proxy-based mutable state for React and vanilla JS

Valtio turns a plain object into a reactive proxy, so you update state by writing to it directly instead of dispatching actions. You call proxy with an object, mutate a property on it, and components that read that property through useSnapshot re-render. The snapshot is immutable, which keeps React rendering predictable even though the underlying update style is mutable.

Pricing$0
Free plan / trialYes
Websitegithub.com
  • The library comes from the same pmndrs collective as Zustand and Jotai.
  • Valtio works with React 19, and version 2 works with React 18 and later.
  • The valtio/utils bundle adds derive, proxyWithComputed, and subscribeKey.
  • Valtio also runs without React, so the same proxy store can serve vanilla JavaScript, Node.js, or other renderers.

Pros

  • Mutate state directly through proxies
  • immutable snapshots for React rendering
  • works outside React in vanilla JS

Cons

  • The mutation model can surprise developers used to Redux
  • proxy tracking has edge cases with class instances
  • smaller ecosystem than Zustand

Visit Valtio →

6

XState

Best for: State machines and complex app workflows

XState is the only option here built around state machines instead of stores or atoms. You define states, events, and transitions, and the machine only moves between states you listed, which removes whole classes of impossible states from the app. That structure pays off in checkout flows, multi-step forms, media players, and any workflow where the current step depends on a long history of events.

Pricing$0 for the XState library; Stately Pro from $33 per month (billed annually)
Free plan / trialYes
Websitestately.ai
  • The XState library itself is open source and costs $0.
  • Stately Studio is the visual editor for XState.
  • Its pricing page lists a free Community plan, Pro at $33 per month on an annual plan or $39 per month on a monthly plan, and Team at $167 per month on
  • Community covers open projects, export to JavaScript and TypeScript, and machine simulation.

Pros

  • State machines make complex logic explicit
  • visual editor in Stately Studio
  • exports to JavaScript and TypeScript

Cons

  • More code than a simple store for basic state
  • visual editor extras sit behind Pro
  • learning curve for machine concepts

Visit XState →

7

Pinia

Best for: The official store for Vue apps

Pinia is the official state management library for Vue, and it replaced Vuex as the recommended store in February 2022. A store is defined with defineStore, and each store holds state, getters, and actions in one place. There are no mutations, so actions update state directly, and setup stores let you write stores with the Composition API.

Pricing$0
Free plan / trialYes
  • Pinia weighs about 1.5KB, and code splitting keeps unused stores out of the first load.
  • Pinia hooks into Vue devtools for inspection and time travel, and a plugin API lets teams add local storage sync or logging to every store.
  • Nuxt 3 and 4 support comes through the official Pinia Nuxt module.
  • Pinia is MIT licensed and costs $0.

Pros

  • Official Vue store since February 2022
  • type-safe stores at about 1.5KB
  • devtools support and plugin API

Cons

  • Vue only, so it cannot serve React or Angular apps
  • version 4 needs the @vue/devtools-api peer dependency
  • server rendering needs care with shared state

Visit Pinia →

8

NgRx

Best for: Redux-pattern state for Angular apps

NgRx brings the Redux pattern to Angular, with a single immutable store, explicit actions, pure reducers, and a one-way data flow. The @ngrx/store package holds state, @ngrx/effects handles side effects such as API calls, @ngrx/entity manages collections, and @ngrx/router-store keeps router state in sync. NgRx also ships SignalStore, a lighter signal-based store.

Pricing$0
Free plan / trialYes
Websitengrx.io
  • NgRx is built on RxJS, so selectors return observables and components subscribe through the async pipe or signals.
  • The docs say the store earns its keep in apps with many interactions, multiple data sources, or state that outgrows plain services.
  • NgRx is MIT licensed and costs $0.
  • One limit: the pattern asks for many files even for a small feature, so a simple app can end up with more store code than feature code, and teams shou

Pros

  • Full Redux pattern for Angular with Store, Effects, and Entity
  • SignalStore for signal-based state
  • MIT licensed with no cost

Cons

  • Many files and boilerplate for small apps
  • steep learning curve
  • Angular only

Visit NgRx →

How we chose

We picked libraries that solve the same job as Redux: shared client state with predictable updates, across React, Vue, and Angular. Each item had to be a real library with official docs and a clear state model, and each price had to come from an official page opened on 2026-11-12 or be $0 for an open-source library under the MIT license. We did not test any tool hands-on. Recoil is included only because many existing apps still run it, with its release history stated plainly.

Pick by framework and app size

Situation Pick Why it fits
React app, small to mid-size Zustand $0, about 1KB, no provider wrapper
React app, many small pieces of state Jotai $0, 2KB core, atoms re-render only what uses them
React app, mutable-style updates Valtio $0, proxy writes with immutable snapshots
React app, complex workflows XState $0 library, Pro from $33 per month (billed annually) for the visual editor
React app already on Recoil Stay or move to Jotai Recoil has had no release since 0.7.7 in March 2023
Vue app of any size Pinia $0, about 1.5KB, official Vue store
Angular app, large and interactive NgRx $0, full Redux pattern with Effects and Entity
Any framework, observable classes MobX $0, observables with automatic tracking

Frequently asked questions

What is the best Redux alternative?

Zustand is the best redux alternative for most React teams because it costs $0, ships at about 1KB, needs no provider wrapper, and covers the common cases with one small store hook. Teams that need atomic state should look at Jotai, teams on Vue should use Pinia, and teams on Angular should use NgRx.

Are Redux alternatives free?

Seven of the eight libraries in this list cost $0 because they are open-source libraries under the MIT license, and each has a full free plan with no seat limit. Only XState has a subscription plan, and that covers the Stately Studio visual editor rather than the library itself.

Which Redux alternative is best for Vue?

Pinia is the best redux alternative for Vue because it is the official Vue store, it costs $0, it weighs about 1.5KB, and it is type safe by design. Pinia replaced Vuex as the recommended store in February 2022, it works with Nuxt 3 and 4 through an official module, and its devtools support covers inspection and time travel.

Which Redux alternative is best for Angular?

NgRx is the best redux alternative for Angular because it implements the Redux pattern with a single store, actions, and reducers, and it is built on RxJS. It costs $0, it adds Effects for side effects, Entity for collections, and SignalStore for signal-based state. NgRx suits large Angular apps with many interactions, while small Angular apps can often use plain services instead.

Is Recoil still a good choice for new projects?

No, Recoil is not a good choice for new projects because it has had no release since version 0.7.7 in March 2023. Existing Recoil apps can keep running it, since it is MIT licensed and costs $0, but new projects should pick Jotai for the same atom model with active development, or Zustand for a simpler single-store model.

Do I still need Redux Toolkit for server state?

No, neither Redux Toolkit nor these alternatives should carry server state on their own, because they manage client state while server data needs caching, refetching, and invalidation. Pair Zustand, Jotai, or Valtio with a data-fetching library, and keep only UI state, filters, and drafts in the client store.

Sources

Prices and features were read on each company’s own website in November 2026. They change often, so confirm the current offer on the official site before you sign up or buy.