Skip to content

Automerge

A JavaScript library for sharing and merging edits to data across users without conflicts. Now deprecated.automerge/automerge-classic

Stars
14.7k
Forks
460
Licence
MIT
Language
JavaScript
Last update
3.7 years ago
Type
Library

No commits in over a year — check for forks or alternatives before adopting.

What it is

Automerge is a JavaScript library that stores JSON-like data in a structure that several people can change at the same time, even offline. When the changes are combined later, the library merges them automatically, following a method called CRDT (conflict-free replicated data type). It is meant as a building block for collaborative apps. The README states this repository is the original pure JavaScript version, and development has moved to a newer Rust-based implementation.

  • Store a JSON-like document that several users can edit while offline
  • Merge concurrent edits from different devices or users automatically
  • Build a collaborative web or Node.js app on top of the data structure

Great for

  • JavaScript developers who want to maintain or study the original Automerge code
  • Teams with an existing app already built on this version
  • Developers exploring how CRDT merging works in JavaScript

Not ideal for

  • New projects: the README says this repository is deprecated and development has shifted to the newer implementation at github.com/automerge/automerge
  • Non-developers looking for a ready-made collaborative app, since this is a library and not an end-user tool
Step-by-step guide: how to use AutomergeInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Install with a package manager

    You'll need: Node.js or a browser environment · npm or yarn

    Install from npm

    npm install automerge

    Install from yarn

    yarn add automerge
  2. 2

    Run it

    • Install the package with npm or yarn
    • Import it with require('automerge') or import * as Automerge from 'automerge'
    • Follow the usage examples at automerge.org to create and change a document
  3. 3

    Get the most out of it

    • Check the automerge-repo project for TypeScript examples, as the README points to it
    • Read the documentation at automerge.org for usage details
    • Run yarn test to verify the library in Node
    • Run yarn build to create a browser bundle that can be loaded with a script tag

Downloads

Strengths

  • MIT licensed, so it can be used and modified freely
  • Simple npm install and a clear import path, according to the README
  • Has a built-in test suite runnable in Node and in browsers

Trade-offs

  • Deprecated: the README says all development effort has moved to a new implementation
  • The last push in the metadata is from March 2023, and there is no release listed
  • The README is short and points to external documentation for usage details

How it compares

ProjectStarsTypeLevelUpdatedBest for
automerge-classic (this)14.7kLibraryintermediate3.7 years agoJavaScript developers who want to maintain or study the original Automerge code
LEANN13.8kLibraryintermediate4 days agoDevelopers building a private RAG prototype on a personal machine
workbox13kLibraryintermediate8 days agoWeb developers building Progressive Web Apps
react-boilerplate29.4kFrameworkadvanced3.6 years agoExperienced React developers starting a new production web app

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.