Conservative Three-way Text Merge
Reconcile two literal line revisions against a common base, with explicit conflict evidence and human side, base or custom decisions.
Loading tool…
How to use Conservative Three-way Text Merge
Combine independently edited copies of one text while keeping the common ancestor visible. Unilateral changes and identical branch results can be retained automatically. Conflicting or touching change regions stay unresolved until you explicitly choose a source or enter your own replacement text.
- Paste the common original and the two complete revisions, preserving the intended line endings.
- Run JSON review and supply explicit choices for each current conflict ID when needed.
- Review the complete merged content and hashes, then export TEXT only after ready is true.
Good to know
- Each source has at most 20,000 characters and 400 LF-delimited/final-incomplete line tokens. Two bounded longest-common-subsequence tables determine deterministic base-relative edits; tie choices prefer base deletion. Unicode text is never executed or syntax-checked.
- Changes whose closed base boundaries touch are grouped conservatively. Some adjacent independent edits can therefore require manual review. This is an explicit custom policy, not GNU diff3, Git or a semantic code-merge compatibility promise.
- At most 400 unique current conflict decisions: left, right, base or custom. Custom text has at most 20,000 characters and the complete merged result has a 60,000-character cap. JSON can show unresolved work; TEXT export requires every conflict resolved and never fabricates a partial merged file or conflict markers.
- Line tokens retain CR characters, BOM and final incomplete-line text. Downloaded text preserves the selected tokens, while browser textareas and clipboard software can normalize line endings. Source hashes and conflict excerpts can contain private wording; no history is saved automatically.
- Processing is local. Output is limited to 1,000,000 text characters unless a stricter file limit is stated.
Common questions
Does a conflict-free result guarantee that merged code or prose is correct?
No. It means only that this conservative line policy found no unresolved competing region. The tool does not run code or understand meaning. Review the merged content and run your own appropriate checks before using it.
Is this input sent to a server?
No. The application processes this input inside your browser tab and does not save it to persistent storage.
Keep going with related tools
All text →Text Diff
Compare two texts line by line and download an easy-to-read difference report, entirely in your browser.
FilesLocal Unified Patch Workbench
Inspect ordinary unified text patches or atomically apply exact hunks to a virtual JSON file map.
DataJSON Three-way Merge Review
Reconcile two JSON revisions against a common base and expose atomic-array and scalar conflicts.