Glossary entry

Operational Transform

Operational Transformation (OT)

In a nutshell

An older approach to real-time collaborative editing that resolves conflicts by transforming operations relative to each other through a central server — historically powered Google Docs.

Operational Transform was the dominant approach to collaborative editing before CRDTs were widely deployed. The idea: every edit is an operation (insert at position 5, delete two characters at position 10), and when two operations arrive at the server out of order, the server transforms each one against the other so the final state is consistent.

OT works, and works well, but it requires a central authority. The transformation functions are subtle enough that small bugs are easy to ship and hard to detect, and every operation has to flow through a server that owns the canonical history. That central server is also the reliability bottleneck — if it's slow or unavailable, the whole collaboration stalls.

CRDTs were designed to remove the central authority. The merge is mathematically guaranteed to be consistent regardless of order, so a server is optional rather than essential. ShareCode is built on a CRDT (Yjs) rather than OT for that reason: it survives transient backend outages, supports offline edits, and removes a class of subtle bugs that OT implementations have to test for. Both approaches are still in production at different companies — OT in long-established editors, CRDTs in most newer ones.

Where this term comes up

Related terms

Browse the full glossary

19 terms covering CRDTs, WebRTC, JWTs, and the rest of the catalogue.

All glossary entries →