Conflict-free replicated data types (CRDTs) represent a fundamental shift in how we approach real-time collaboration in distributed systems. These data structures guarantee that simultaneous changes made by multiple users will converge correctly, eliminating the need for complex conflict resolution. This breakthrough enables seamless, offline-first experiences and simplifies the development of collaborative applications. This article explores how CRDTs are changing the landscape of collaborative software.
For decades, the software industry solved this problem either by forcing users to take turns (one person edits, the other waits) or by building increasingly complex coordination systems that required constant connectivity. Neither approach worked well for the way people actually use devices today switching between phones, tablets, and laptops throughout the day, often in places with unreliable internet.
Then there was a shift. Somewhere in the overlap between academic research papers and real-world engineering necessity, a family of data structures emerged that promised something seemingly impossible: a system where concurrent edits could never produce a conflict, where the order of operations didn't matter, and where every replica of the data would eventually converge to the same state automatically, without human intervention, and without a central authority.
Those data structures are called CRDTs, or Conflict-free Replicated Data Types. And understanding how they came to exist the intellectual journey, the false starts, the gradual convergence of theory and practice is a story about one of the most useful and least understood revolutions in modern software.
What CRDTs Actually Are
At its core, a CRDT is a data structure that can be replicated across multiple computers or replicas and modified independently on each one, without any central coordination. When those replicas eventually communicate with each other, the CRDT guarantees that all changes will merge into a consistent state, no matter what order they arrive in.
The key word is guarantee. Unlike earlier approaches to distributed editing, which relied on careful sequencing and transformation of operations, CRDTs achieve conflict-free merging through mathematical properties built into the data structure itself.
A Conflict-free Replicated Data Type (CRDT) is a data structure that simplifies distributed data storage systems and multi-user applications. CRDTs ensure that, no matter what data modifications are made on different replicas, the data can always be merged into a consistent state. This merge is performed automatically by the CRDT, without requiring any special conflict resolution code or user intervention.
The implications of this are significant. In a CRDT-based system, you can edit a document on an airplane with no internet connection, make changes on your tablet during a commute through a tunnel, and write notes on your phone in a basement and when all three devices sync up, the system will automatically reconcile every change, preserving all the edits, without any data loss and without requiring you to do anything.
This property called eventual consistency is what makes CRDTs so valuable for modern application development. As one developer writing about the technology noted: "Back around 2014, I kept hearing about this cool database called Riak, a distributed database that could survive network partitions and keep accepting writes. Some really interesting companies were using it at massive scale, and I was curious about it. One of the big selling points was that it could handle concurrent writes without any coordination or consensus. I was intrigued, and I started reading about it. Underlying all of this was the concept of CRDTs, Conflict-free Replicated Data Types."
That anecdote captures something important about the evolution of these ideas. CRDTs didn't emerge fully formed from a single research breakthrough. They accumulated gradually in academic papers, in production systems, in the late-night explorations of engineers who ran into the limits of older approaches and went looking for something better.
The Two Modes of Distributed Editing
To understand why CRDTs matter, it helps to understand the two broad approaches to managing distributed data. The first approach is called strongly consistent replication. In this model, all replicas coordinate with each other before any change is applied. Every modification goes through a consensus process replicas vote, agree on an ordering, and only then does the change take effect.
This approach enables strong consistency guarantees. You can always read the latest state of the data, and you can be certain that no two replicas have conflicting information. But there is a cost. Waiting for this coordination reduces performance, and critically it makes it impossible to make changes on a replica that is disconnected from the network. If your phone loses signal, or if your laptop goes into airplane mode, you cannot edit the document until connectivity is restored.
The second approach is called optimistic replication. In this model, users may modify data on any replica independently, even if that replica is offline or disconnected from the network. This approach maximizes performance and availability you can always keep working but it creates a new problem: when replicas reconnect, their changes may conflict. Two people may have edited the same sentence, or the same cell in a spreadsheet, at the same time.
The traditional way to handle these conflicts was to write special conflict resolution code logic that examined the divergent states of two replicas and decided how to merge them. But this approach is fragile. Conflict resolution code is notoriously difficult to get right, and edge cases accumulate as the system scales. Every new type of data, every new editing pattern, every new combination of concurrent changes requires new logic.
CRDTs are the third way: they are data structures designed specifically for optimistic replication, where the conflict resolution is built into the mathematics of the structure itself. As the definitive resource on the subject explains: "CRDTs are used in systems with optimistic replication, where they take care of conflict resolution... Moreover, an important characteristic of CRDTs is that they support decentralised operation: they do not assume the use of a single server, so they can be used in peer-to-peer networks and other decentralised settings."
The Ancestors: Operational Transformation
Before CRDTs, there was Operational Transformation a technology born in 1989 that became the foundation of early collaborative editing tools like Google Docs. OT works by transforming operations: when a user makes an edit, the system transforms that edit based on other operations that have already occurred, adapting it to the current state of the document.
The challenge with OT is complexity. As one technical explainer describes the problem: "This is the essence of concurrent conflict: the same sequence of operations, applied in a different order, may produce different results. What we need is a mechanism where, regardless of the order in which operations arrive, everyone ultimately sees the same result, and the contributions of all editing participants are respected."
OT achieved this goal, but at a cost. The transformation functions required to make it work are intricate, and getting them right requires deep expertise. The approach also typically requires all communication between users to flow through a central server which means the server becomes a single point of failure, and offline editing is difficult or impossible.
CRDTs emerged partly as a response to these limitations. more than transforming operations to account for what everyone else has done, CRDTs design data structures where any operation can be applied in any order and still produce the same result. The merge happens automatically, without transformation logic, and without requiring a central server.
This shift from transforming operations to designing data structures where conflicts are impossible is the intellectual move that makes CRDTs so powerful. It moves the complexity from runtime (where it must be handled correctly every time two users edit simultaneously) to design time (where it must be get right once, when the data structure is created).
Types of CRDTs
The CRDT family includes several different data structures, each designed for different use cases. Understanding the basic categories helps clarify where these technologies fit in real-world applications.
At the simplest level, there are counters. A G-Counter (Grow-Only Counter) allows values to increase but never decrease useful for tracking things like page views or message counts. A PN-Counter allows both increments and decrements, supporting use cases where values can go up and down.
For collections of items, there are sets. A G-Set (Grow-Only Set) allows items to be added but not removed appropriate for things like a list of subscribed channels. A 2P-Set (Two-Phase Set) allows both additions and removals, but with a constraint: an item removed once can never be re-added. For scenarios requiring more flexibility, there are LWW-Element-Sets (Last-Write-Wins Element Sets) and OR-Sets (Observed-Remove Sets), each with different tradeoffs around conflict resolution and garbage collection.
For more complex data, there are registers (which store a single value), maps (which store key-value pairs), and sequences (which store ordered lists of items). Sequence CRDTs are particularly important for text editing applications, where the order of characters matters. The RGA (Replicated Growable Array) is one such sequence structure that has seen significant practical use.
Where CRDTs Live Today
CRDTs are not a research curiosity they are already embedded in many of the tools people use every day. Mobile applications that sync notes, calendars, contacts, and reminders across devices rely on CRDT-like mechanisms to reconcile changes made on different devices. Distributed databases use CRDTs to maintain consistency across replicas in different data centers, ensuring the system continues working correctly even if some replicas go offline.
Collaboration software represents another major application area. While some tools in this space use Operational Transformation (which requires server-side coordination), others have adopted CRDTs for their offline capabilities and decentralization benefits.
Large-scale data storage and processing systems also use replication for global scalability, and CRDTs help manage the complexity of keeping distributed data consistent.
The key advantage of CRDTs in these contexts is that they enable what the literature calls "decentralised operation": they do not assume the use of a single server, so they can be used in peer-to-peer networks and other decentralized settings. This is fundamentally different from the approach used by Google Docs, Trello, and Figma, which require all communication between users to flow via a server.
The Academic Lineage
The CRDT concept traces back to research by Marc Shapiro, Nuno Preguiça, Carlos Baquero, and Marek Zawirski, who published foundational work on Convergent and Commutative Replicated Data Types in 2011. A subsequent book, "Conflict-free Replicated Data Types" by Nuno Preguiça, Carlos Baquero, and Marc Shapiro (2018), provided a comprehensive overview of the field.
Today, the CRDT website at crdt.tech is maintained by Martin Kleppmann, Annette Bieniusa, and Marc Shapiro a trio of researchers and practitioners who have helped bridge the gap between academic theory and industry practice. The site serves as a central reference for the research community, cataloging papers, implementations, and educational resources.
The research continues to evolve. Recent work has explored topics like undo and redo support for replicated registers, extending JSON CRDTs with move operations, programming models for verifiably safe local-first software, and CRDT-based approaches for blockchain coordination. A comprehensive field guide to the various CRDT types and their tradeoffs has been published by Ian K. Duncan, offering what one description calls "a comprehensive guide to CRDTs and their tradeoffs, from counters to sequences, written in the spirit of the Typeclassopedia, exploring how different CRDTs solve the distributed consensus puzzle."
Why This Matters for ReadySyncGo Readers
If you are evaluating data synchronization tools, mobile workflow applications, or automation platforms, understanding CRDTs can help you make better architectural decisions. The choice between strongly consistent replication and optimistic replication and the choice of which specific CRDT to use within the optimistic replication paradigm has significant implications for user experience, system reliability, and development complexity.
For mobile-first workflows especially, CRDTs represent a compelling approach. The ability to work offline, merge changes automatically when connectivity returns, and avoid single points of failure aligns well with the realities of mobile work: intermittent connectivity, multiple devices, and the need for reliable access to data regardless of network conditions.
When evaluating tools that claim to offer "offline sync" or "conflict-free editing," understanding the underlying technology helps you distinguish between approaches that truly deliver on those promises and those that merely approximate them with more fragile mechanisms.
The Path Forward
The story of CRDTs is ultimately a story about the gap between how computers work and how people want to use them. People want to edit documents on airplanes, add notes on commutes, and access their data on any device, regardless of connectivity. Traditional distributed systems were designed around the assumption of constant connectivity and centralized control.
CRDTs represent a different way of thinking one where the data structure itself is designed to accommodate the messiness of distributed reality: the latency, the disconnections, the concurrent edits. By building conflict resolution into the mathematics of the data structure, CRDTs make it impossible to have merge conflicts, more than merely handling them after the fact.
This shift has practical implications for anyone building or choosing collaborative tools. It affects whether users can work offline, whether the system can scale without a central server, and whether the application can handle the real-world conditions of mobile work more than the idealized conditions of a well-connected office.
The researcher who couldn't stop thinking about merge conflicts found a solution by changing the question. Instead of asking "how do we resolve conflicts after they occur?" the CRDT approach asks "how do we design data structures where conflicts cannot occur?" It is a different kind of problem harder in some ways, simpler in others and it has led to a family of technologies that are quietly reshaping how collaborative software is built.
Where to Read Further
- The official CRDT technology site maintained by Martin Kleppmann, Annette Bieniusa, and Marc Shapiro offers foundational definitions, examples, and links to academic papers.
- Ian K. Duncan's CRDT Dictionary provides a field guide to different CRDT types, their tradeoffs, and interactive demonstrations of how they work.
- The CRDT Papers collection offers a comprehensive bibliography of research publications for those who want to explore the academic foundations.
- MoonBit's implementation walkthrough covers the evolution from Operational Transformation to modern CRDT algorithms, with working code examples.



