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.

Get started

Free Forever • MIT License

Used by world's leading teams and companies:

Automattic's logoClickUp's logoMeta's logoShopify's logoMonday's logoEvernote's logo

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.

Evernote logo

“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's Profile Picture

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 methods
yarray.insert(0, [1, 2, 3]) // insert three elements
yarray.delete(1, 1) // delete second element
yarray.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's Avatar

John

Weidhofer

Ypy maintainer

Hannes's Avatar

Hannes

Moser

Yrb maintainer

Kevin's Avatar

Kevin

Jahns

Creator of Yjs

Bartosz's Avatar

Bartosz

Sypytkowski

Author of Yrs

Aidar's Avatar

Aidar

Nugmanoff

Yswift maintainer

Joseph's Avatar

Joseph

Heck

Yswift maintainer

Reflect Logo

Reflect

$100

amount contributed
on June 1, 2023

Guest Logo

Guest

$15

amount contributed
on June 1, 2023

Max Wu Logo

Max Wu

$10

amount contributed
on June 1, 2023

Motif Logo

Motif

$100

amount contributed
on June 1, 2023

Anonymous Logo

Anonymous

$50

amount contributed
on June 1, 2023

Mike Gilger Logo

Mike Gilger

$20

amount contributed
on May 27, 2023

AppFlowy Logo

AppFlowy

$500

amount contributed
on May 25, 2023

Reflect Logo

Reflect

$100

amount contributed
on May 1, 2023

Guest Logo

Guest

$15

amount contributed
on May 1, 2023

Max Wu Logo

Max Wu

$10

amount contributed
on May 1, 2023

Motif Logo

Motif

$200

amount contributed
on May 1, 2023

Anonymous Logo

Anonymous

$50

amount contributed
on May 1, 2023

Mike Gilger Logo

Mike Gilger

$20

amount contributed
on April 27, 2023

Royal Icing Logo

Royal Icing

$10

amount contributed
on April 26, 2023

hasparus Logo

hasparus

$5

amount contributed
on April 21, 2023

PartyKit Logo

PartyKit

$100

amount contributed
on April 19, 2023

Reflect Logo

Reflect

$100

amount contributed
on April 1, 2023

Guest Logo

Guest

$15

amount contributed
on April 1, 2023

Max Wu Logo

Max Wu

$10

amount contributed
on April 1, 2023

Motif Logo

Motif

$200

amount contributed
on April 1, 2023

Anonymous Logo

Anonymous

$50

amount contributed
on April 1, 2023

Mike Gilger Logo

Mike Gilger

$20

amount contributed
on March 27, 2023

Reflect Logo

Reflect

$100

amount contributed
on March 1, 2023

Guest Logo

Guest

$15

amount contributed
on March 1, 2023

Max Wu Logo

Max Wu

$10

amount contributed
on March 1, 2023

Motif Logo

Motif

$200

amount contributed
on March 1, 2023

Anonymous Logo

Anonymous

$50

amount contributed
on March 1, 2023

Mike Gilger Logo

Mike Gilger

$20

amount contributed
on February 27, 2023

Reflect Logo

Reflect

$100

amount contributed
on February 1, 2023

Prisma Logo

Prisma

$1000

amount contributed
on February 1, 2023

Also proudly supported by

NLNet logo

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.