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 .
LicenciaPermissive (MIT). https://github.com/loro-dev/loro (Rust core, JavaScript/WASM package, Swift); https://github.com/loro-dev/loro-ffi (bindings for other languages)
Estado de Desarrollo 🟢 Activo
PropietarioCreated 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
Órgano de GobiernoThe founding maintainers (Zixuan Chen and Leon Zhao); no foundation or formal governance is described in the cited sources
País Not stated by the project.
Año de Inicio 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
FinanciamientoGitHub Sponsors are shown on the repository; no other funding source is stated by the project
Última Investigación 29 oct 2026
Vista de topología
Esta herramienta en el centro y lo que se relaciona directamente con ella. Cada línea nombra el tipo de relación.
Almacenamiento local-first Edición libre de conflictos Historial de versiones
Protocolo de Datos Descentralizado Atributos
OrígenesLocal-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
Base de DatosN/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
Lenguaje de ConsultaJSONPath queries over a document (Loro lists a JSONPath feature in its documentation); otherwise documents are used as native language objects
Formatos de DatosA binary snapshot and update encoding for documents, shallow snapshots, and a JSON view (toJSON) of the current state
Edición Colaborativa en VivoCollaborative 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
Edición de Texto EnriquecidoRich text editing: a rich-text CRDT with its own design write-up, and Fugue-based plain-text merging
Soporte MóvilLibrary-level: Swift bindings for iOS and macOS; WebAssembly in mobile browsers; other bindings through loro-ffi
Soporte WebYes: the JavaScript/WebAssembly package is the main surface, with a browser inspector tool
Aplicaciones NativasLibrary-level: the Rust crate embeds in native applications; Swift bindings exist
TérminosFree and open source (MIT); no hosted service is required
Fondos Not stated by the project.
Basado EnCRDT research and prior libraries: the Event Graph Walker algorithm (diamond-types), Fugue, and ideas from Automerge and Yjs, all credited by the project
Arquitectura P2PTransport-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
Red de SuperposiciónNone: Loro defines no network. Synchronisation is scoped to a document shared among the peers that hold it
Direccionamiento por ContenidoNo: 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
Cifrado de Extremo a Extremo (E2EE)No: Loro does not encrypt documents itself; confidentiality is left to the transport or the embedding application
Biblioteca de CRDTsLoro: this entry is the library. Rust core with JavaScript/WASM and Swift bindings, plus loro-ffi for other languages
Tolerancia a Fallos BizantinosNo: CRDT merging assumes cooperating peers; the cited sources describe no defence against a peer that submits malformed or malicious operations
FirmaN/A: operations are identified by peer ID and counter; the library does not sign them
PermisosN/A: no access-control model; any peer holding a document can edit it
Compatibilidad con la Web SemánticaN/A: JSON-like document model with no RDF, JSON-LD or SPARQL layer
Contrato InteligenteN/A: no ledger or contract component
Posición en la Pila del ProtocoloApplication-layer: an in-process data-structure library that is independent of the transport
Incorporación de Activos/ValorNone: no token or value-transfer mechanism
Madurez del Protocolo / EstandarizaciónLibrary 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
Relaciones
Cómo se conecta esta herramienta con otras herramientas y organizaciones, según relaciones revisadas por el responsable de datos de OpenHaven. Describen cómo se conectan los proyectos, no su calidad.