Recoil vs Jotai: Which Atomic State Manager?
Recoil and Jotai both model state as atoms, but Jotai is smaller, simpler, and more actively maintained.
Recoil introduced atom and selector primitives for React with built-in async support, but its maintenance has slowed considerably. Jotai offers a similar atomic model with a smaller, simpler API, no string keys, strong TypeScript support, and active development, making it the de facto successor for atomic state. Recoil pioneered the pattern; Jotai wins today on size, simplicity, TypeScript, and maintenance momentum.
| Recoil | Jotai | |
|---|---|---|
| Model | Atoms + selectors | Atoms (composable) |
| API | String keys required | Keyless, minimal |
| Bundle size | Larger | Smaller |
| Maintenance | Slowed | Active |
| Best for | Legacy Recoil apps | New atomic state work |
Use case and maintenance
Recoil suits existing apps already built on it. For new work, Jotai is the safer pick: a smaller, keyless API, excellent TypeScript, and ongoing maintenance, while delivering the same atomic granularity and async support Recoil pioneered.
Testing and CI
Both test as atomic stores; Jotai's smaller surface is simpler to mock. Either runs on managed runners, where faster runners shorten state-heavy test suites.
The verdict
Maintaining an existing Recoil app: keep it unless migration is worthwhile. Starting fresh with atomic state: Jotai, which is smaller, simpler, and actively maintained. For new projects, Jotai is the clear recommendation.