yjs/yjs

Shared data types for building collaborative software

View on GitHub ↗Jump to charts ↓

Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 40 minutes ago
Added to GitGenius on September 2nd, 2026
Created on July 29th, 2014
Open Issues & Pull Requests: 143 (+0)
GitHub issues: Enabled
Number of forks: 811
Total Stargazers: 22,924 (+0)
Total Subscribers: 124 (+0)

Repository Insights (GitGenius)

Median issue/PR response: N/A
Mean response time: 30.5 hours
90th percentile: 35.7 hours
Tracked items: 92

Maintainer activity

1 person did triage or write work on this repository in the last 12 months.

Counts unlabeled, assigned, unassigned, milestoned, demilestoned, locked, unlocked over the last 12 months. These are issue and pull request events that require triage or write permission. Commits and code review are not counted. labeled and renamed are excluded because GitHub issue forms record the issue author as the actor. Figures from October 11, 2026. This count is not comparable across projects: each project's automation decides which of these events a person emits.

How this project is maintained

98% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Three people close 85% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 41
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 696 days
Stale 30+ days: 37
Stale 90+ days: 35

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (58)
  • enhancement (13)
  • wontfix (11)
  • next-release (1)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

Yjs is a library for building collaborative applications using shared data types that synchronize across peers.

The library solves the problem of coordinating changes to shared state across multiple clients without requiring a central server. It implements conflict-free replicated data types, allowing offline edits to merge automatically when clients reconnect. The approach works by tracking changes to shared data structures and propagating updates through a network layer that the developer configures, whether peer-to-peer, server-based, or hybrid. Each client maintains its own copy of the data and can apply remote changes in any order while guaranteeing consistency.

Yjs suits projects where real-time collaboration, offline-first functionality, or decentralized architectures matter. It works well for document editors, whiteboards, and any application where multiple users modify shared state simultaneously. Teams building collaborative tools should choose this library if they need automatic conflict resolution without operational transformation complexity. The library is particularly valuable for applications that must work offline and sync changes later, or for peer-to-peer systems where no central authority exists.

The project maintains active development with regular updates addressing edge cases and performance improvements. The codebase shows sustained attention to both core functionality and ecosystem integration, with ongoing refinement of the synchronization protocol and connector implementations. Documentation receives continuous updates to reflect API changes and usage patterns. The maintainers respond to issues and pull requests, indicating engagement with the user community and willingness to address reported problems.