Skip to main content
Enable multiple users to edit the same document simultaneously with real-time collaboration powered by Yjs.

Real-time Sync

Changes appear instantly for all connected users

Conflict Resolution

CRDTs automatically merge concurrent edits

Offline Support

Continue editing offline, sync when reconnected

User Awareness

See who’s online with cursors and selections

Choose Your Approach

No server to manage - get started in 5 minutes.
ProviderBest ForPricing
LiveblocksQuick start, any frameworkFree tier available
TipTap CloudTipTap Pro usersRequires subscription

Quick Start

Get collaboration working in 5 minutes with Liveblocks:
npm install @liveblocks/client @liveblocks/yjs yjs
import { createClient } from "@liveblocks/client";
import { LiveblocksYjsProvider } from "@liveblocks/yjs";
import * as Y from "yjs";
import { SuperDoc } from "superdoc";

// 1. Create Liveblocks client
const client = createClient({ publicApiKey: "pk_..." });

// 2. Enter a room and create Yjs provider
const { room } = client.enterRoom("my-document");
const ydoc = new Y.Doc();
const provider = new LiveblocksYjsProvider(room, ydoc);

// 3. Wait for sync, then create SuperDoc
provider.on("sync", (synced) => {
  if (!synced) return;

  new SuperDoc({
    selector: "#editor",
    user: { name: "John", email: "[email protected]" },
    modules: {
      collaboration: { ydoc, provider },
    },
  });
});

Full Quickstart Guide

Step-by-step setup with complete working example

How It Works

SuperDoc uses Yjs, a CRDT (Conflict-free Replicated Data Type) library, to enable real-time collaboration. This means:
  1. No central server required for conflict resolution
  2. Changes merge automatically - no data loss
  3. Works with any Yjs provider - cloud or self-hosted

Next Steps