Yjs is a CRDT implementation that offers shared types like Map or Array, which automatically distribute changes to other peers and merge without conflicts.

It is network agnostic, supports many rich text editors, offline editing, version snapshots, undo/redo, and shared cursors. It scales well for an unlimited number of users and large documents.

Yjs is used by many commercial and open-source apps such as AFFiNe, Cargo, Gitbook, Sana, btw, and BlockSurvery.

Elevate Your Blogging Game with BTW: The Self-hosted Medium Alternative
btw is a fantastic open-source alternative to Medium that provides users with the ability to set up their very own personal blog in just a matter of minutes. It offers a wide range of impressive features and functionalities that make it a top choice for aspiring bloggers or those who

Supported Text Editors (WYSIWYG)

  • ProseMirror
  • Quill
  • CodeMirror
  • Monaco
  • Slate
  • BlockSuite
  • Valtio
  • Immer
  • Mobx Keystone

Connection Providers

  1. WebSocket
  2. WebRTC
  3. Liveblocks Yjs
  4. Y-sweet
  5. PartyKit
  6. Y-libp2p
  7. Y-dat
  8. Matrix-CRDT
  9. Yrb-actioncable
  10. Ypy-websocket
  11. Y-indexeddb
  12. Y-mongodb-provider
  13. @toeverything/y-indexeddb
  14. Y-fire for Firebase