Home/Frontend & UI/Jotai
Frontend & UI
Jo

Jotai

TypeScriptOpen SourceReactAtomic State

Primitive, flexible atomic state management for React — inspired by Recoil but smaller and simpler, with no provider boilerplate.

License

MIT

Language

TypeScript

80
Trust
Strong

Why Jotai?

Fine-grained, atom-level state where components subscribe to minimal slices

You like Recoil's mental model but want a smaller, maintained library

Next.js apps that need React Suspense-compatible async atoms

Signal Breakdown

What drives the Trust Score

npm downloads
1.5M / wk
Commits (90d)
50 commits
GitHub stars
19k ★
Stack Overflow
600 q's
Community
Medium
Weighted Trust Score80 / 100

Download Trend

Last 12 months

Tradeoffs & Caveats

Know before you commit

You need middleware-rich store (immer, devtools) out of the box — use Zustand

Teams unfamiliar with atomic state patterns — Zustand is easier to onboard

Pricing

Free tier & paid plans

Free tier

Open source, free to use

Paid

Free & open-source

Alternative Tools

Other options worth considering

Zu
Zustand87Strong

Minimal, unopinionated React state management — a tiny bear-bones store with a hooks-based API and no boilerplate.

tanstack-query
TanStack Query91Excellent

Powerful async state management for React — server state fetching, caching, synchronization, and background updates with zero config.

Often Used Together

Complementary tools that pair well with Jotai

tanstack-query

TanStack Query

Frontend & UI

91Excellent
View
nextjs

Next.js

Frontend & UI

98Excellent
View
RH

React Hook Form

Frontend & UI

89Strong
View

Learning Resources

Docs, videos, tutorials, and courses

Get Started

Repository and installation options

View on GitHub

github.com/pmndrs/jotai

npmnpm install jotai

Quick Start

Copy and adapt to get going fast

import { atom, useAtom } from 'jotai';

const countAtom = atom(0);

function Counter() {
  const [count, setCount] = useAtom(countAtom);
  return <button onClick={() => setCount(c => c + 1)}>{count}</button>;
}

Community Notes

Real experiences from developers who've used this tool