Make your app collaborative.
Yjs is a high-performance CRDT for building collaborative software that syncs automatically. Build collaborative apps like Google Docs or Figma in no time.
Free Forever • MIT License
Used by world's leading teams and companies:
Most popular CRDT framework.
Yjs is hand-optimized to the extreme like no other CRDT implementation. Leverage its YATA algorithm to build fastest, scalable collaborative experiences for your users.
- Yjs
Downloads:212,316
- Automerge
Downloads:4,003
- ShareDB
Downloads:9,387
- Json Joy
Downloads:515
Average number of downloads per week based on data from npm trends for the past year.
“Yjs allowed us to add collaborative features to our application in no time. The API is extremely well-designed, which makes it easy to integrate with the existing part of the system. Kevin and the team also provided us first-class support.”

Bartosz Sypytkowski
Co-founder, CTO @ Evernote
Composable primitives.
Yjs provides primitive building blocks that feel and behave like an ordinary data structures. Except for being conflict-free and eventually consistent.
Array
Use it as you would use normal array. Insert items, delete items, access them by index.
Text
Build powerful collaborative text experiences. Range formatting, embedding is supported out of the box.
Map
Most powerful and versatile data structure now conflict-free, eventually-consistent and automatically synced.
XML
Build your own tree structures. Any level of depth, nestedness and complexity is supported.
const ydoc = new Y.Doc()const yarray = ydoc.getArray('my array type')// Common methodsyarray.insert(0, [1, 2, 3]) // insert three elementsyarray.delete(1, 1) // delete second elementyarray.toArray() // => [1, 3]
Available on many platforms.
Yjs is accessible across many platforms, programming languages thanks to its vibrant ecosystem of language bindings. Leverage the power of Yjs in your favorite language.
Integrations.
Building collaborative applications takes more than having shared types. Thanks to vibrant ecosystem of various text editor integrations, connection and database providers – you can focus on doing what matters and leave the boring parts to the integrations.
TipTap
A ProseMirror based editor that integrates Yjs as the collaborative editing solution. It has a rich ecosystem of extensions and integrates well into web frameworks.
ProseMirror
Fantastic toolkit to build your own richtext editor. This integration enables any ProseMirror-based editor to be collaborative.
Monaco
Fully-featured code editor that powers VSCode. Becomes collaborative with Yjs integration.
CodeMirror
Code editor component for the web. It can be used in websites to implement a text input field with support for many editing features, and has a rich programming interface to allow further extension.
Slate
Slate-yjs aims to be the goto collaboration solution for slate. Get started in seconds, scale to infinity, customize to your hearts content.
Milkdown
Milkdown is a ProseMirror based editor that integrates Yjs as the collaborative editing solution. It's a plugin driven WYSIWYG markdown editor.
Quill
Free, open source WYSIWYG editor built for the modern web. With its modular architecture and expressive API, it is completely customizable to fit any need.
WebRTC
This integration enables propagating document updates peer-to-peer to all users using WebRTC with encryption, authorization and very little server load.
WebSocket
Integration follows conventional client-server model. Clients connect to a single endpoint over Websocket. The server distributes document updates and awareness information among clients.
Lexical
Lexical is an extensible JavaScript web text-editor framework by Meta. It has an emphasis on reliability, accessibility, and performance.
IndexedDB
Use the IndexedDB database provider to store your shared data persistently in the browser. The next time you join the session, your changes will be loaded from the local browser database.
LevelDB
LevelDB is a fast embedded database. It is the underlying technology of IndexedDB.
Help us make software
more collaborative.

John
Weidhofer
Ypy maintainer

Hannes
Moser
Yrb maintainer

Kevin
Jahns
Creator of Yjs

Bartosz
Sypytkowski
Author of Yrs

Aidar
Nugmanoff
Yswift maintainer

Joseph
Heck
Yswift maintainer
Support us as we build the foundational tools for creating collaborative applications.
We distribute funding among us and active contributors in this space to maintain and
advance our software.