IZN Tools

Text Diff Checker

Line by line, with the changed words marked — the way a code review shows it.

Up to 5000 lines each. Nothing leaves the tab — paste a contract or a config.
Computed on this device

Reading the result

| Colour | Meaning | | --- | --- | | Red, − | on the left only — removed | | Green, + | on the right only — added | | Both, one after the other | a line that changed, with the changed words marked |

Line numbers on each side refer to that side's text, so a number you see here is the number in your editor.

Two options, and when to use them

  • Ignore whitespace — for code that was reformatted, or a document that was re-wrapped. Indentation, tabs versus spaces and line-end spaces all stop counting.
  • Ignore case — for a text where capitalisation was normalised and you want to see the edits underneath it.

Both change only the comparison. What is shown is always your original text.

The unified diff

Copy or download the result as a unified diff — the ---/+++/-/+ format every review tool, mail client and patch already reads. Paste it into a ticket and the reader sees exactly what you saw.

Nothing is uploaded

Both texts stay in the tab. That is the point of doing it here rather than in a service: you can paste a contract, a customer export or unreleased source and nobody else has a copy.

Questions

What does the diff actually compare?+

Lines, the way `diff` does. Each line on the left is matched against the right by the longest common subsequence, so an inserted paragraph shows as an insertion rather than pushing everything below it into a change. Inside a line that changed, the words are compared again so you can see which ones moved.

Why does a moved block show as removed and added?+

Because a line diff has no notion of moving. A paragraph cut from the top and pasted at the bottom is, to the algorithm, a deletion in one place and an insertion in another, and that is how it is shown. Tools that claim to detect moves are guessing, and the guesses are wrong often enough that this one does not try.

What does ‘ignore whitespace’ do?+

The same as `diff -w`: whitespace does not count at all, so `x = 1` and `x=1` are the same line, and a file that was reindented shows no changes. The original text is still what you see — only the comparison ignores it.

Can I diff two files?+

Paste them. The inputs take anything up to five thousand lines each, which covers a config, a contract, a CSV export or a source file. Above that the browser would still cope, but the result stops being something a person reads.