Text diff checker
DevNo. 69 / 84
Compare two blocks of text line by line and see exactly what was added, what was removed and what survived untouched.
two versions of the truth enter, one honest line count leaves.
work surface
Math, not advice — results are indicative.Read the disclaimer.
most-used utilities
Changelog check
Confirm that the release notes only added the three lines you promised and quietly removed nothing else.
Contract revision
Find the clause that changed between two drafts before you sign the one with the nicer font.
Config file
Spot the single modified value in a long settings file without reading every line twice.
pro tips
Whitespace counts. If one file uses tabs and the other spaces, every touched line lights up like a parade, even when the words are identical.
Put the smaller version on the original side. A diff is easier to read when the additions are the few lines you actually care about.
The copy summary button returns plain text with plus and minus signs, ready for a commit message or a politely devastating email.
what it does
Paste the old text in one box and the new text in the other. The widget splits both into lines and walks through them together, so every line ends up in one of three buckets: unchanged, removed or added. It updates as you type, with a short pause so a long paste does not make the page stutter.
This earns its keep when two things look identical but are not: a config file before and after a quiet edit, a contract revision, a translation draft, a changelog that someone swears only got a small tweak. Instead of rereading both versions and hoping your eyes cooperate, you get the exact lines that moved.
Take a 14-line README and a 16-line revision. The diff reports 3 added lines, 1 removed line and 13 unchanged ones, which accounts for all 16 lines on the new side. Scan the two colored lines, confirm the typo fix, ignore the other thirteen, and go do something else.
Matching is by whole line and exact, down to spaces and tabs, so a reformatted paragraph looks like a rewrite. The widget finds the shared beginning and end first, then matches the middle with a longest-common-subsequence pass. If that middle is enormous, it stops being clever and marks the whole chunk as replaced, which is honest, if not elegant.
quick answers
What counts as a change?
Any line whose content differs, including trailing spaces. A line moved to a different position also shows up as one removal and one addition, because line order is part of the comparison.
Does it compare words inside a line?
No. It highlights whole lines, which keeps the output readable and the result predictable. For a single edited sentence you see the old line and the new line, not the individual words that moved.
Do both versions leave my browser?
No. The comparison runs locally with plain JavaScript and the page makes no network requests. Close the tab and both drafts are gone, unless you copied the summary first.