# Understand collaboration

> Let people edit the same document together, using your existing editor UI.



Without collaboration, two people opening the same DOCX are editing separate copies. With collaboration, they work on a shared document: an edit in one person's editor appears in the other's.

## One document, two editors [#one-document-two-editors]

Alex changes a delivery date. Sam sees the new date without reloading the document or opening another file.

> **Illustration: two editors, one shared document.** Alex changes the delivery date to Friday. A provider carries the change through their shared room, and Sam sees Friday in the other editor. Both people can edit.


Both people can edit. SuperDoc synchronizes their document changes while each person keeps their own view and selection.

## Connect through a room [#connect-through-a-room]

A **room** connects the editors working on one shared document. Your application gives that room an ID so each editor knows which document to join. Opening the same file URL in two browsers does not connect them.

A **provider** carries changes between the connected editors. You can run a collaboration server yourself or use a hosted service. The next guide starts with a local Hocuspocus server.

The first editor creates the room from a DOCX. The second joins that room. From then on, they work with its shared content.

Sharing edits is separate from reviewing them. Use [tracked changes](/editor/track-changes) when edits should remain
proposals, or [comments](/editor/built-in-ui/comments) for discussion. Collaboration carries the shared document changes;
it does not decide which proposals to accept.

## Keep the UI you already built [#keep-the-ui-you-already-built]

Collaboration works with built-in controls, custom controls, or a mix of both. You add a connection to the document; you do not need to rebuild your toolbar or review panels.

Your application still decides who can access the document and how it is saved. Those are server responsibilities, separate from showing another person's edits.

## Insert bookmark anchors [#insert-bookmark-anchors]

In a V2 collaboration room, `doc.bookmarks.insert()` supports a text range within one paragraph of the document body, including a zero-length range for an insertion-point bookmark. Wait for `collaboration-ready` before calling it. The bookmark's start and end offsets are preserved in `bookmarks.get()` and `bookmarks.list()`, on connected peers, and when exporting and reopening the DOCX.

Use a unique bookmark name and a valid range in the target paragraph. Insertion across paragraphs is not supported; it returns `CROSS_BLOCK_MATCH` without creating a bookmark. The same single-paragraph range and point behavior is supported in solo editing.

## Try it with two editors [#try-it-with-two-editors]

[Connect two editors](/editor/collaboration/connect-two-editors) walks you through creating a room, joining from another tab, and watching an edit appear in both. Start there, then add presence and persistent storage.
