---
title: "Immutable.js"
description: "Persistent immutable data structures for JavaScript."
pagination: false
---

{/* Generated from content/. Edit the catalog, not this page. */}

<PurposeNote title="Good for">Managing complex collections while retaining previous versions of state.</PurposeNote>

## What it does

Persistent immutable data structures for JavaScript.

## When it fits

Managing complex collections while retaining previous versions of state.

## Other options in this category

<div data-pagefind-ignore>

- [Jotai](/state/jotai) — Composing shared state from small independently managed atoms.
- [MobX](/state/mobx) — Deriving reactive UI updates from mutable application models.
- [MobX-State-Tree](/state/mobx-state-tree) — Structuring application state around models, actions, and snapshots.
- [Nano Stores](/state/nano-stores) — Sharing focused pieces of state without a large state-management setup.
- [nuqs](/state/nuqs) — Keeping filters, pagination, and shareable view state in the address bar.

</div>

## Source

[Project source for Immutable.js ↗](https://immutable-js.com/)

Editorial overview reviewed on October 24, 2026. Follow the source for current setup, compatibility, and licensing.

[Share application state →](/tasks/share-application-state)

[All state management options →](/state)
