How diff works, and why it sometimes looks insane
Every merge conflict you have ever fought came out of one algorithm making a reasonable guess. Understanding the guess makes the conflicts much less mysterious.

Diff is solving longest common subsequence
Given two files, diff finds the longest sequence of lines appearing in both, in order, and calls everything else an insertion or a deletion. It is not comparing meaning — it is finding the biggest shared skeleton and reporting the leftovers.
The classic implementation is Myers' 1986 algorithm, which is what Git uses by default. Its output is minimal in the number of changed lines, which is not always the output a human would call clearest.
Why it mangles prose and moved blocks
Diff is line-based. Reflow a paragraph and every line changes, so a one-word edit is reported as a total rewrite. This is why writers hate version control and programmers barely notice — code is already line-broken in semantically meaningful places.
Moved code has the same problem: a function relocated unchanged shows as a deletion plus an unrelated insertion, because "moved" is not a concept the algorithm has. Git's --color-moved and histogram diff exist to paper over exactly this.
Practical fixes
- Use
--word-difffor prose — it compares at word granularity instead of line - Set
diff.algorithm = histogramin Git; it produces noticeably more readable output on real code than the default - One sentence per line in Markdown makes documentation diff like code
- For anything structured (JSON, XML), normalise formatting before comparing or you will diff the whitespace, not the data
What you could build here
Three directions that would work on this name. None of them is the only answer — it is your name once it is yours.
- A better diff tool. Fast, private, no upload — everything client-side. Developers share tools like this constantly when they are genuinely good.
- A format specialist. JSON, CSV, XML and PDF comparison are all real recurring needs that the generic tools handle badly.
- A funnel for something bigger. Free utility on top, team features underneath. Half the developer SaaS you use started as a single free tool with a memorable name.
Compare something now
Already built, on the sister name
We run textdiffonline.com. This is it, live. filediffonline.com can carry the same thing, or point at it.
This domain is for sale
- 2019-03-04registered
- 7 yearsage
- COMextension
- Cleannever spammed
Exact-match for a tool people search for constantly and use in seconds. Developer utility sites monetise on volume and cost almost nothing to run. Sister name to an already-live tool site.