Loro is a CRDT library that makes building local-first and collaborative applications easier by enabling JSON data to be synchronized, merged, and version-controlled across peers.
Loro solves the problem of coordinating changes to shared data without requiring a central server or complex conflict resolution logic. It uses Conflict-free Replicated Data Types to automatically merge concurrent edits from multiple users or devices. The library supports several CRDT algorithms including text editing with Fugue, rich text, moveable trees and lists, and last-write-wins maps. Beyond basic collaboration, Loro provides advanced capabilities like fast document loading, time travel through history, version control with real-time collaboration, and shallow snapshots that work similarly to Git shallow clones.
Developers building local-first or peer-to-peer applications should consider Loro if they need automatic conflict resolution and offline-first capabilities. It suits projects requiring rich collaborative editing, version control features, or complex data synchronization across multiple clients. The library is available in Rust, JavaScript via WebAssembly, and Swift, making it accessible across different technology stacks. The README does not compare Loro to alternative CRDT libraries, so no comparative assessment can be made.
The project maintains active development with regular updates and provides developer tools including the Loro Inspector for debugging document state and history. The team offers multiple channels for community engagement including documentation, tutorials, and community platforms. Language bindings are managed through a separate repository to keep the core library focused.