diffthesetwo.com Runs in your browser
Two texts → difference

Compare two blocks of text

Paste two versions and see exactly what changed, line by line and word by word.

Text comparison

Ignore

Paste text into both boxes to compare them.
Added
Removed
Unchanged

Reading the output

Each line carries its number on both sides, a sign, and the text. The numbers diverge as soon as a line is added or removed, which is often the fastest way to see how far apart the two versions have drifted:

  • No sign — the line is identical in both.
  • — the line exists only in the original.
  • + — the line exists only in the changed version.

Where a removed and added line are close enough to be one line edited, the changed words inside them are marked too: removed words struck through, added words underlined. If a line pair is too dissimilar the word breakdown is skipped, because comparing two unrelated sentences word by word produces noise rather than insight.

Common questions

How does the comparison work?

It finds the longest common subsequence of lines between the two texts, which is the same approach Git and most diff tools use. That matters because a naive line-by-line comparison marks everything after an inserted line as changed, whereas this correctly identifies the single insertion and leaves the rest untouched.

Why are some lines shown with words struck through?

When a removed line and an added line are similar enough to be the same line edited rather than two unrelated lines, the changed words within them are marked individually. Removed words are struck through and added words underlined, so you can see the specific edit instead of two whole lines flagged as different.

Can it ignore indentation or capitalisation?

Yes. The two toggles control whether leading and trailing whitespace, and upper versus lower case, count as differences. Ignoring whitespace is useful when comparing code that has been reindented; ignoring case is useful for prose and configuration keys.

Is there a size limit?

Comparison is capped at 3,000 lines per side. The algorithm needs a table proportional to the two lengths multiplied together, so a pair of very large documents would exhaust the browser's memory. Anything longer is truncated and flagged rather than left to crash the tab.

Is my text uploaded?

No. The comparison runs entirely in your browser. Nothing is sent to a server, logged, or stored, which matters when you are diffing config files or anything else with credentials in it.