Repolode
loro-dev

loro-dev/loro

A Rust CRDT library (with JS/WASM and Swift bindings) for making JSON-like app data collaborative, mergeable and version-controlled.

Stars
6,237
Forks
193
Open issues
66
Last commit
29 minutes ago

What is it?

Loro is a CRDT (Conflict-free Replicated Data Type) library for building local-first and collaborative applications. Documents can be edited offline on each peer, then merged automatically when peers sync, without a central server deciding conflicts.

The library provides several data types: text editing based on the Fugue algorithm, a rich text CRDT, a movable tree, a movable list, and a last-write-wins map. Documents support delta updates, fast loading, time travel through history, and shallow snapshots that behave like a Git shallow clone.

Loro is written in Rust and can be used from Rust directly, from JavaScript through WebAssembly (the loro-crdt npm package), and from Swift. Other languages are covered by the loro-ffi project.

Key features

  • 01Automatic merging of concurrent edits across peers
  • 02Text editing and rich text CRDTs built on Fugue
  • 03Movable tree and movable list data types
  • 04Time travel through document history
  • 05Shallow snapshots similar to Git shallow clones
  • 06Delta updates for syncing only changes

Use cases

  • Adding real-time collaboration to a JSON-based app without a central merge server
  • Building offline-first note or document editors that sync later
  • Versioning structured application data with history browsing
  • Collaborative rich text editing in web or Swift apps

Quick start

  1. 1

    Open the Getting Started tutorial linked in the README

  2. 2

    In a JS project, import LoroDoc and LoroList from the loro-crdt package, as in the README example

In collections

Topics

FAQ

What is loro?
A Rust CRDT library (with JS/WASM and Swift bindings) for making JSON-like app data collaborative, mergeable and version-controlled. Loro is a CRDT (Conflict-free Replicated Data Type) library for building local-first and collaborative applications. Documents can be edited offline on each peer, then merged automatically when peers sync, without a central server deciding conflicts.
Is loro free to use? What license does it have?
loro is open source under the MIT license. Check the license terms before using it in commercial products.
Is loro still maintained?
Actively maintained. The last commit to loro was on Oct 22, 2026.
What can I use loro for?
Adding real-time collaboration to a JSON-based app without a central merge server Building offline-first note or document editors that sync later Versioning structured application data with history browsing Collaborative rich text editing in web or Swift apps
How do I install loro?
Open the Getting Started tutorial linked in the README In a JS project, import LoroDoc and LoroList from the loro-crdt package, as in the README example
Where can I get loro?
The source code and installation instructions are on GitHub: https://github.com/loro-dev/loro

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects