Yjs
Shared data types for building collaborative software observed · 2026-08-28
Health v2 · maintenance only
93/100
- Activity 96
- Release rhythm 84
- Longevity 100
Flags: no_license
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.
- gap_med: 38.5
- age_days: 4418
- days_rel: 29
- days_push: 27
- n_releases_24m: 15
Adoption not part of the score
22702 stars · 798 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-29, confidence not recorded
Yjs is a high-performance CRDT framework that exposes shared data types (Y.Map, Y.Array, Y.Text, Y.Xml) which automatically sync and merge across peers without conflicts. It is network agnostic, supports rich text editor bindings, offline persistence, awareness/presence, and undo/redo for building collaborative applications like Google Docs or Figma.
Use cases
- build a collaborative document editor like Google Docs
- sync shared state between multiple users in real time
- add offline editing support to a web app
- show shared cursors and user presence in an editor
- merge concurrent edits without merge conflicts
- make a rich text editor like ProseMirror or Quill collaborative
- build a local-first app with automatic data sync
- share whiteboard or canvas state across clients
When to choose
- you need conflict-free real-time collaboration on shared data structures
- you want offline-first editing with later synchronization
- you need to bind collaboration to existing rich text editors
- you want a mature, well-benchmarked CRDT with a large ecosystem of providers and bindings
When to avoid
- you only need simple client-server state sync without concurrent editing
- your data model is relational and better served by a traditional database
- you need a non-JavaScript environment without one of the community ports
- you require a permissive license - Yjs licensing is non-standard (NOASSERTION)
Facets
library · maturity stable
state-management websocket p2p serialization sdk web-development frontend microservices developer-tools browser cross-platform crdt collaborative-editing offline-first shared-types realtime-sync peer-to-peer conflict-free-replication real-time javascript nodejs
8 sources
- readme: https://github.com/yjs/yjs · fetched 2026-08-28 · b8acd291ad22
- homepage: https://docs.yjs.dev · fetched 2026-08-29 · 751d13fb4240
- site_page: https://docs.yjs.dev/getting-started/a-collaborative-editor · fetched 2026-08-29 · 325fb2f01f24
- site_page: https://docs.yjs.dev/getting-started/adding-awareness · fetched 2026-08-29 · e7e32aba741f
- site_page: https://docs.yjs.dev/getting-started/allowing-offline-editing · fetched 2026-08-29 · 0d521a4d4039
- site_page: https://docs.yjs.dev/getting-started/working-with-shared-types · fetched 2026-08-29 · 4232ad71436e
- site_page: https://docs.yjs.dev/api/about-awareness · fetched 2026-08-29 · 0c9ced5bc153
- site_page: https://docs.yjs.dev/api/faq · fetched 2026-08-29 · 88472c73d05c
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| yjs/yjs | main | 93 |
| yjs/yjs-demos | examples | 41 |
For agents
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem