A CRDT (conflict-free replicated data type) library for local-first, real-time collaborative software. An application models its state as Loro's JSON-like collaborative types (text with Fugue-based merging, rich text, movable lists, movable trees, last-write-wins maps and counters); any number of peers edit independently and offline, export their updates as bytes, send them over any channel, and import the other side's updates to converge on the same state. Loro also keeps the full editing history, so a document can be time-travelled or branched like a version-controlled repository, and a shallow snapshot lets a document drop old history the way a shallow git clone does. It is a library, not a network: the project supplies the data structures and encoding, and the application chooses the transport. Available in Rust, JavaScript (via WebAssembly) and Swift, with bindings for other languages in a separate repository .
LicensePermissive (MIT). https://github.com/loro-dev/loro (Rust core, JavaScript/WASM package, Swift); https://github.com/loro-dev/loro-ffi (bindings for other languages)
Dev Status 🟢 Active
OwnerCreated in 2022 by Zixuan Chen and Leon Zhao, who are named on the project's About page as its contacts; the cited sources name no company, foundation or legal entity behind it
Governing BodyThe founding maintainers (Zixuan Chen and Leon Zhao); no foundation or formal governance is described in the cited sources
Country Not stated by the project.
Start Year 2022
StackRust core compiled to WebAssembly for JavaScript and TypeScript; Swift bindings; other languages through loro-ffi; npm package loro-crdt; a browser-based Loro Inspector for viewing a document's state and history
FundingGitHub Sponsors are shown on the repository; no other funding source is stated by the project
Last Investigated Oct 29, 2026
Topology view
This tool in the centre and the things it is directly related to. Each line names the kind of relationship.
Local-first storage Conflict-free editing Version history
Decentralized Data Protocol Attributes
OriginsLocal-first software: built to make collaborative, offline-capable applications easy, with the Event Graph Walker (Eg-walker) merge algorithm adapted from Joseph Gentle's diamond-types, columnar encoding ideas from Automerge, merge behaviour similar to Yjs, and the Fugue text algorithm from Matthew Weidner's work, all credited by the project
DatabaseN/A: not a database. Loro is an in-memory document library; the application persists documents by exporting snapshots or updates as bytes to storage of its choice
Query LanguageJSONPath queries over a document (Loro lists a JSONPath feature in its documentation); otherwise documents are used as native language objects
Data FormatsA binary snapshot and update encoding for documents, shallow snapshots, and a JSON view (toJSON) of the current state
Collaborative Live EditingCollaborative real-time editing (CRDTs): concurrent edits from any number of peers merge deterministically, both live and after offline work; an ephemeral store carries presence data such as cursors
Rich Text EditingRich text editing: a rich-text CRDT with its own design write-up, and Fugue-based plain-text merging
Mobile SupportLibrary-level: Swift bindings for iOS and macOS; WebAssembly in mobile browsers; other bindings through loro-ffi
Web SupportYes: the JavaScript/WebAssembly package is the main surface, with a browser inspector tool
Native AppsLibrary-level: the Rust crate embeds in native applications; Swift bindings exist
TermsFree and open source (MIT); no hosted service is required
Funds Not stated by the project.
Based OnCRDT research and prior libraries: the Event Graph Walker algorithm (diamond-types), Fugue, and ideas from Automerge and Yjs, all credited by the project
P2P ArchitectureTransport-agnostic peer-to-peer synchronisation: peers exchange exported updates over any method the application provides, with no central coordinator needed to merge; the library implements no network layer of its own
Overlay NetworkNone: Loro defines no network. Synchronisation is scoped to a document shared among the peers that hold it
Content AddressingNo: operations carry peer and counter identifiers within a causal graph; documents are not addressed by content hash
Local-FirstLocal-First: the project describes itself as built for local-first software; each peer holds a full replica and edits offline, merging when updates are exchanged
E2EENo: Loro does not encrypt documents itself; confidentiality is left to the transport or the embedding application
CRDTs LibLoro: this entry is the library. Rust core with JavaScript/WASM and Swift bindings, plus loro-ffi for other languages
Byzantine Fault ToleranceNo: CRDT merging assumes cooperating peers; the cited sources describe no defence against a peer that submits malformed or malicious operations
SignatureN/A: operations are identified by peer ID and counter; the library does not sign them
PermissionsN/A: no access-control model; any peer holding a document can edit it
Semantic Web CompatibilityN/A: JSON-like document model with no RDF, JSON-LD or SPARQL layer
Smart ContractN/A: no ledger or contract component
Protocol Stack PositionApplication-layer: an in-process data-structure library that is independent of the transport
Asset / Value EmbeddingNone: no token or value-transfer mechanism
Protocol Maturity / StandardizationLibrary at version 1.x with documented concepts and a stable-looking release cadence; no standards-body involvement and no separate wire specification was found in the cited sources, so the Rust implementation is effectively the reference
Relationships
How this tool connects to other tools and organizations, from relationships reviewed by the OpenHaven data steward. They describe how projects connect, not how good they are.