yjs
✨ Become a Sponsor
You are live.
Build collaborative applications with Yjs
Creating collaborative applications should be easy. Yjs exposes Shared Types that can be manipulated like any other data type. But they sync automatically!
The library for realtime collaboration
Automatic Syncing
Build collaborative applications with shared types. They work just like normal data types, but they sync automatically!
Offline Support
No more waiting for slow connections. The shared data can be stored in a local database (e.g. indexeddb) and will be available right away. Render the information you have and sync later.
Network Agnostic
Yjs does not require a central server for coordination. Decentralized systems are faster, easier to scale, and more fault tolerant.
Yjs Ecosystem
Yjs integrates well with other technologies. We have a rich ecosystem of ready-to-use integrations with popular editor libraries and web frameworks.
      Our Sponsors 💫
The Yjs Ecosystem
Libraries for every part of your stack.
The Client Layer
On the client side, build collaborative apps using shared types, implement awareness features using the Awareness CRDT, and make existing UI libraries & rich-text editors collaborative using editor bindings.
Shared data typesAwareness CRDTBindings for editors and UI Frameworks
The Connection Layer
Yjs is network agnostic and can sync through any communication protocol.
y-websockety-webrtcmatrix-crdt..more
The Persistence Layer
Persist shared state in different databases.
y-indexddby-leveldby-redis..more
Demos
Find more in our demos repository
.
Prosemirror Editor
Drawing