awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
yjs avatar

yjs/yjs

0
View on GitHub↗
22,069 stars·782 forks·JavaScript·49 viewsdocs.yjs.dev↗

Yjs

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-position addressing to preserve content and cursor locations during remote edits.

The framework covers broad capability areas including network synchronization and local data persistence for offline-first applications. It includes utilities for document version control, authorship metadata attribution, and bindings to connect shared data structures to external rich-text editor interfaces.

Features

  • Conflict-Free Replicated Data Types - Provides conflict-free replicated data types that ensure all distributed clients converge to the same state automatically.
  • Shared Collaborative Data Types - Provides a library of collaborative maps, arrays, and text structures that converge automatically across distributed clients.
  • Collaborative Editors - Serves as a data layer for editors that handles concurrent edits and maintains relative cursor positions.
  • Binary Serialization Formats - Encodes document changes into a compact binary format for efficient network transmission and storage.
  • Local-First Persistence - Provides a system for persisting document updates locally to enable offline editing and instant loading.
  • Real-Time Synchronization Engines - Encodes document changes into binary updates to maintain real-time state consistency across distributed peers.
  • Real-time Data Synchronization - Keeps local data stores in sync with distributed network state in real-time for collaborative editing.
  • Real-time Synchronization - Implements real-time synchronization to maintain consistent document state across multiple clients during collaborative sessions.
  • Local-First Synchronization - Enables offline editing with automatic merging of changes when clients reconnect via local-first synchronization.
  • Commutative Binary Updates - Encodes document changes into commutative binary updates that can be applied in any order to reach the same state.
  • State Vector Synchronization - Exchanges encoded state vectors between clients to transmit only the missing incremental updates required for convergence.
  • Relative Position Addressing - Preserves cursor locations and content positions during remote edits by anchoring to unique identifiers instead of absolute indices.
  • Conflict-Free Replicated Data Types - Implements conflict-free replicated data types to synchronize shared state across distributed clients without conflicts.
  • Relative Position Addressing - Anchors cursor locations and selection ranges to specific elements to preserve accuracy during remote edits.
  • Shared State Management - Uses collaborative arrays and maps to keep document state synchronized across multiple users.
  • State Vector Differencing - Uses state-vector based differencing to transmit only the missing incremental updates required to synchronize peers.
  • Collaborative Editing Frameworks - Provides the infrastructure for real-time multi-user text editing with instant synchronization and conflict resolution.
  • Editor Model Bindings - Binds shared collaborative data types to external rich-text editor interfaces for real-time synchronization.
  • Document Versioning - Tracks historical changes in shared documents to enable undo/redo functionality and authorship tracking.
  • Custom Network Transport Layers - Provides modular interfaces for plugging in various network transport layers to synchronize document updates.
  • Custom Attribution Tracking - Maps metadata to document changes to identify which user created, deleted, or formatted shared content.
  • State Snapshots - Reconstructs document states by applying historical updates filtered by specific client clock points.
  • Atomic Transaction Grouping - Collects multiple updates into a single atomic unit to generate compressed messages for broadcasting.
  • Authorship Attribution - Links unique identifiers to authorship and timestamps to track the history of shared document edits.
  • Causal Ordering Timestamps - Implements logical client clocks to ensure operations are applied in the correct causal order across distributed peers.
  • State Version Restoration - Reconstructs previous document versions by filtering items based on client clocks and state vectors.
  • Transaction Batching - Batches multiple atomic changes into single transactions to reduce network overhead and observer notifications.
  • Undo-Redo Management - Tracks changes to shared types to enable undo and redo operations while filtering by transaction origin.
  • Collaborative Rich Text Binding - Connects collaborative data types to rich text editors to enable multi-user writing with synchronized cursors.
  • Change Observers - Triggers callbacks whenever a shared type or its children are modified by local or remote users.
  • Collaborative Editing - High-performance CRDT implementation for shared data synchronization.

Star history

Star history chart for yjs/yjsStar history chart for yjs/yjs

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Yjs

These projects share indexed features with Yjs. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • loro-dev/loroloro-dev avatar

    loro-dev/loro

    5,374View on GitHub↗

    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

    Rustcollaborative-editingcrdtlocal-first
    View on GitHub↗5,374
  • pubkey/rxdbpubkey avatar

    pubkey/rxdb

    23,048View on GitHub↗

    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

    TypeScriptangularbrowser-databasecouchdb
    View on GitHub↗23,048
  • electric-sql/electricelectric-sql avatar

    electric-sql/electric

    9,909View on GitHub↗

    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

    Elixircrdtcrdtselixir
    View on GitHub↗9,909
  • heyscrumpy/tiptapheyscrumpy avatar

    heyscrumpy/tiptap

    37,270View on GitHub↗

    Tiptap is a headless rich text editor framework and extensible WYSIWYG framework designed for building custom text editors. It functions as a high-level wrapper around the ProseMirror toolkit, separating core editing logic and state management from the user interface. The framework enables real-time collaborative editing through a synchronization system using conflict-free replicated data types. It also supports the integration of AI content generation to provide automated suggestions and content refinement directly within the editor. The system utilizes a plugin-based extension architecture

    TypeScript
    View on GitHub↗37,270
Compare all 30 related projects→

Frequently asked questions

What does yjs/yjs do?

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.

What are the main features of yjs/yjs?

The main features of yjs/yjs are: Conflict-Free Replicated Data Types, Shared Collaborative Data Types, Collaborative Editors, Binary Serialization Formats, Local-First Persistence, Real-Time Synchronization Engines, Real-time Data Synchronization, Real-time Synchronization.

Which projects share features with yjs/yjs?

Projects with overlapping indexed features include: loro-dev/loro — Loro is a conflict-free replicated data type (CRDT) framework and collaborative state engine designed for building… pubkey/rxdb — This project is a reactive, offline-first NoSQL database engine designed for JavaScript applications. It provides a… electric-sql/electric — Electric is a Postgres data synchronization engine and replication proxy designed to enable local-first software. It… heyscrumpy/tiptap — Tiptap is a headless rich text editor framework and extensible WYSIWYG framework designed for building custom text… streamich/json-joy — json-joy is a comprehensive library for building real-time collaborative applications and distributed systems. It… typecellos/blocknote — BlockNote is a block-based rich text editor and a real-time collaborative workspace. It uses a JSON-based data model…