For element synchronization, the strongest matches are yjs/yjs (Yjs is a robust real-time state synchronization engine built), amark/gun (Gun is a decentralized graph database and synchronization engine) and automerge/automerge (Automerge is a core distributed state synchronization engine built). streamich/json-joy and orbitdb/orbit-db round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Hand-picked open-source element synchronization engines, ranked by GitHub stars and activity. Compare the top alternatives and pick the right one.
Yjs is a CRDT framework and real-time state synchronization engine providing shared data types for collaborative software. It functions as a shared data type library of collaborative maps, arrays, and text structures that converge automatically across distributed clients, serving as a local-first data store and a collaborative editor backend. The system distinguishes itself through a synchronization engine that encodes document changes into commutative binary updates. It employs state-vector based differencing to transmit only missing incremental updates between peers and uses relative-positi
Yjs is a robust real-time state synchronization engine built on conflict-free replicated data types, featuring offline-first architecture, peer-to-peer sync capabilities, and seamless cross-client collaboration.
Gun is a decentralized graph database and synchronization engine designed for real-time, peer-to-peer data management. It functions as a JavaScript library that enables applications to maintain consistent state across distributed nodes without relying on a central server. By utilizing conflict-free replicated data types and a gossip protocol, the system ensures that data updates propagate across the network and reconcile automatically. The project distinguishes itself through a focus on decentralized identity and security, utilizing public-key infrastructure to authenticate users and sign dat
Gun is a decentralized graph database and synchronization engine that provides peer-to-peer sync, conflict-free replicated data types, and offline-first state management for real-time applications.
Automerge is a distributed state synchronization engine and library for conflict-free replicated data types. It enables multiple nodes to perform concurrent updates to a shared dataset while guaranteeing that all replicas eventually converge to the same state. The project provides a high-performance implementation written in Rust to manage state merging and synchronization. It employs a byte-compressed synchronization protocol to transmit minimal delta updates between peers, facilitating data consistency in peer-to-peer and real-time collaborative environments. The system covers broad capabi
Automerge is a core distributed state synchronization engine built around conflict-free replicated data types that handles concurrent updates, peer-to-peer sync, and state convergence across clients.
json-joy is a comprehensive library for building real-time collaborative applications and distributed systems. It provides a robust framework for managing shared JSON-like data structures that automatically merge concurrent edits from multiple users, ensuring consistent state across all replicas without requiring a central coordination server. The project distinguishes itself through a high-performance approach to data handling, utilizing conflict-free replicated data types and logical clock-based synchronization to maintain data integrity. It includes a specialized engine for navigating and
This TypeScript library provides a robust framework for real-time collaboration and conflict-free replicated data types, enabling seamless peer-to-peer and offline-first state synchronization across clients without a central server.
Orbit DB is a decentralized NoSQL database that utilizes conflict-free replicated data types to ensure eventual consistency across a network of nodes. It functions as a peer-to-peer data store that uses IPFS for content-addressing and synchronization, allowing for the maintenance of application state without a central server or authority. The system is built upon a cryptographically verifiable, immutable operation log, which serves as the foundation for custom decentralized data models. This architecture enables the implementation of various data storage patterns, including JSON document stor
OrbitDB is a decentralized peer-to-peer database using conflict-free replicated data types for offline-first synchronization, fitting the required synchronization engine category well despite lacking WebSocket transport and real-time collaboration features.
Loro is a conflict-free replicated data type (CRDT) framework and collaborative state engine designed for building real-time collaborative applications. It provides a distributed data synchronizer that enables multiple users to edit shared documents and complex nested structures—such as maps, lists, trees, and counters—with automatic state convergence without requiring a central server. The project distinguishes itself through a versioned document store that supports branching, forking, and merging via a directed acyclic graph of causal operation history. It enables advanced version control c
Loro is a CRDT framework and collaborative state engine built for real-time synchronization across clients, offering offline-first architecture, peer-to-peer sync capabilities, and automatic state convergence without a central server.
Electric is a Postgres data synchronization engine and replication proxy designed to enable local-first software. It replicates data from Postgres databases to client-side stores in real time using logical replication, allowing applications to maintain a local embedded database for offline access and low-latency updates. The system distinguishes itself by using shapes to filter and authorize specific subsets of database rows and columns before streaming them to clients or edge workers. It further supports multi-user collaboration by integrating a conflict-free replicated data type framework t
Electric is a real-time data synchronization engine that uses logical replication from Postgres to client-side SQLite stores for local-first apps, though it focuses on server-to-client replication rather than pure peer-to-peer sync.
OrbitDB is a decentralized data storage system that enables the creation of serverless databases residing across a network of peers. It functions as a peer-to-peer database that integrates with a content-addressed storage layer to distribute and replicate data without a central server. The system utilizes conflict-free replicated data types to ensure eventual consistency and state convergence across distributed nodes. It maintains an immutable record of updates using a directed acyclic graph to preserve causal ordering and cryptographic integrity. Access is managed through a decentralized ide
OrbitDB is a peer-to-peer decentralized database that uses conflict-free replicated data types and distributed logs for state synchronization, fitting the requirement for decentralized real-time replication without a central server.
This project is a memory-safe library implemented in Rust that provides a high-performance engine for managing shared, distributed data states. It functions as a conflict-free replicated data type implementation, enabling real-time collaborative editing and state synchronization across distributed systems without the need for a central server or manual conflict resolution. The library distinguishes itself through a cross-language binding framework that allows native applications in environments like Python, Swift, and WebAssembly to interact with the same shared data protocol. It utilizes a c
This Rust-based CRDT library provides a high-performance engine for distributed state synchronization and real-time collaboration, serving as a robust building block for offline-first applications.
TinyBase is a reactive data store and in-memory relational database designed for client-side state persistence. It serves as a local-first sync engine that merges distributed state using conflict-free replicated data types and logical clocks to ensure deterministic data convergence. The project features a schema validation library that converts external definitions from tools like Zod, Yup, and TypeBox into type-safe store definitions. It provides an infrastructure for real-time collaborative editing, utilizing synchronization with Automerge, Yjs, and PartyKit to maintain consistent state acr
TinyBase is a local-first reactive data store and sync engine that uses conflict-free replicated data types and integrations with tools like Yjs and PartyKit to keep client-side state synchronized in real time.
Xray is a collaborative text editor and distributed workspace manager that utilizes conflict-free replicated data types to synchronize real-time edits and directory structures across peers. It functions as both an Electron-based desktop application and a headless editor server that manages workspaces and file systems remotely for connected clients. The project distinguishes itself by integrating fine-grained version control tracking, recording keystroke-level changes and uncommitted edits between Git commits. It employs a decentralized synchronization model for working copies and uses operati
Xray is a collaborative text editor and workspace manager built on CRDTs for decentralized real-time synchronization, which fits the core category well despite leaning heavily into text editing rather than generic data sync.
This project is a JavaScript library and SDK used to integrate web and mobile applications with cloud services. It serves as a bridge to backend providers for user authentication, binary object storage, and real-time data synchronization. The library provides a unified interface for managing cloud identity and access, executing queries and mutations against GraphQL endpoints, and consuming REST APIs with secure request signing. It also includes tools for accessing machine learning services for natural language processing and computer vision. Broad capability areas include offline-first data
This JavaScript SDK and library integrates web and mobile applications with cloud services, supporting offline-first persistence and real-time data synchronization despite lacking standalone peer-to-peer capabilities or conflict-free replicated data types.
Togetherjs is a real-time collaboration framework designed to synchronize application state, cursors, and navigation across multiple user sessions. It provides a synchronization tool for shared browsing and a signaling server to facilitate peer-to-peer communication. The project integrates audio chat and media streaming via peer-to-peer technology, allowing collaborators to engage in live voice communication. It includes a presence and identity manager to map session participants to custom profiles, names, and avatars. The framework covers a broad surface of collaborative capabilities, inclu
Togetherjs provides real-time state synchronization, remote cursor tracking, and peer-to-peer communication channels designed for collaborative multi-client browsing sessions.
This project is a reactive, offline-first NoSQL database engine designed for JavaScript applications. It provides a robust framework for managing application state by synchronizing data across browsers, mobile devices, and server-side runtimes. By treating local storage as the primary source of truth, it enables applications to remain functional without network connectivity, automatically reconciling changes with remote backends once a connection is restored. The database distinguishes itself through a modular architecture that supports cross-environment synchronization and high-performance d
RxDB is a reactive offline-first NoSQL database for JavaScript supporting real-time synchronization and CRDTs, making it a powerful engine for cross-client state management despite lacking native peer-to-peer transport.
| المستودع | النجوم | اللغة | الترخيص | آخر تحديث |
|---|---|---|---|---|
| yjs/yjs | 22.1K | JavaScript | NOASSERTION | |
| amark/gun | 19.1K | JavaScript | NOASSERTION | |
| automerge/automerge | 6.4K | JavaScript | MIT | |
| streamich/json-joy | 1.1K | TypeScript | NOASSERTION | |
| orbitdb/orbit-db | 8.8K | JavaScript | MIT | |
| loro-dev/loro | 5.4K | Rust | mit | |
| electric-sql/electric | 9.9K | Elixir | apache-2.0 | |
| orbitdb/orbitdb | 8.7K | JavaScript | mit | |
| y-crdt/y-crdt | 2.1K | Rust | NOASSERTION | |
| tinyplex/tinybase | 5.1K | TypeScript | MIT |