# Yjs

26 Hacker News commenters recommended Yjs and 14 criticized it, November 2025 to November 2026. It was recommended in 8 of 13 months.

**Verdict:** Free library that merges concurrent edits automatically and performs well; critics say editor bindings replace whole documents and are hard to make fast.

## Why people recommend it

- Automatically merges concurrent edits without conflicts (3 comments): "They beautifully allow me to reason about conflicts - so that my users don't have to." ([source](https://news.ycombinator.com/item?id=47411237)) "Yjs merges the edits concurrently." ([source](https://news.ycombinator.com/item?id=47362926)) "No conflicts, no overwrites." ([source](https://news.ycombinator.com/item?id=48028381))
- Makes multi-user features easy to build (3 comments): "really fluid, skeuomorphic experiences like those enabled by, eg pragmatic-drag-and-drop[0] or yjs[1]" ([source](https://news.ycombinator.com/item?id=47293179)) "the technical foundation of sparse rendering and multi-user interactions were easy enough with Yjs" ([source](https://news.ycombinator.com/item?id=48310591)) "It is a good abstraction to make anything collaborative" ([source](https://news.ycombinator.com/item?id=47430369))
- Clever, well-regarded implementation (3 comments): "Yjs's actual implementation is very clever and I'm quite confident its correct." ([source](https://news.ycombinator.com/item?id=47407669)) "Kevin's optimization work on Yjs is masterful" ([source](https://news.ycombinator.com/item?id=46326813)) "The Yjs-as-storage-backend trick is clever" ([source](https://news.ycombinator.com/item?id=47851431))
- Fast and small documents (2 comments): "Yjs documents are, if created well, both really fast and small." ([source](https://news.ycombinator.com/item?id=48219077)) "The diffing part makes it fast." ([source](https://news.ycombinator.com/item?id=47412750))

## What people warn about

- Editor bindings replace whole documents (4 comments): "the Yjs authors clearly state that they purposefully designed its interface to ProseMirror to delete and recreate the entire document on every collab keystroke" ([source](https://news.ycombinator.com/item?id=47395971)) "the Yjs data structure and y-promirror diffing algorithm destroying and creating new XML nodes" ([source](https://news.ycombinator.com/item?id=47431911)) "Yes, the current binding has it's flaws, but we hope to flush out the most egregious of them" ([source](https://news.ycombinator.com/item?id=47409914))
- History and position mapping get complicated (3 comments): "allowing histories to drift too far will absolutely risk stomping all over user intent" ([source](https://news.ycombinator.com/item?id=47423355)) "position mapping is very complicated in the Yjs world" ([source](https://news.ycombinator.com/item?id=47404654)) "grows every time someone types, pastes, or undoes" ([source](https://news.ycombinator.com/item?id=47253145))
- Hard to meet editor performance targets (3 comments): "it's empirically very challenging to meet the 16ms perf budget even in the simplest possible realistic collab scenario" ([source](https://news.ycombinator.com/item?id=47422455)) "I always battle against two issues and ultimately quit because they're really hard to do efficiently" ([source](https://news.ycombinator.com/item?id=48211735)) "the project did not understand what modern text editors need to perform well in any circumstance" ([source](https://news.ycombinator.com/item?id=47404589))
- Official paper's proofs questioned (2 comments): "the official paper on Yjs is just plain wrong, the "proofs" it contains are circular" ([source](https://news.ycombinator.com/item?id=47396154)) "If you ignore the paper and just look at the source code" ([source](https://news.ycombinator.com/item?id=47398481))

## Alternatives hackers recommend

- [Automerge](https://hackerapproved.com/p/automerge.md): 7 recommend
- [Loro](https://hackerapproved.com/p/loro.md): 6 recommend

## Cite as

Hacker Approved, "Yjs", https://hackerapproved.com/p/yjs/ (counts from 1,795,640 Hacker News comments, November 2025 to November 2026).
