Text Diff & Line Compare

Put the original on the left and the changed version on the right, then compare: unchanged runs collapse, the changed regions stay in both views, and trailing spaces and tabs are drawn so a line that looks identical still explains why it is marked.

Runs in your browser Developer tools

How to use

  1. Paste the earlier text into Original and the newer one into Changed, or press Load sample to see the two views filled with a realistic config file first.
  2. Press Compare. The unified view lists every line with a +/- marker and collapses long runs of identical content into an expandable “unchanged lines hidden” row; press Swap sides if you pasted them the other way round.
  3. Switch to Side by side to read the same changes as two aligned columns, old next to new, with a few lines of context around each changed region and (no matching line) where one side has nothing to pair with.
  4. Check the badges for added, removed, unchanged and similarity, toggle Ignore trailing whitespace if the difference is only spacing, then press Copy diff to take out the unified text.

Frequently asked questions

Why is a line marked as changed when both sides look identical?

Almost always invisible whitespace. Trailing spaces, a tab where the other side uses four spaces, or a missing final newline all change a line without changing how it looks. The tool draws trailing spaces as · and tabs as →, so the difference becomes visible, and when only the last line differs because one file ends with a newline and the other does not, it says so explicitly (\ No newline at end of file). If you want that difference ignored, tick Ignore trailing whitespace and compare again.

Does it compare lines, words or characters?

Lines. Each side is split at newlines and the two lists are aligned optimally, so a changed sentence in the middle of a long paragraph shows as that whole line being removed and re-added rather than just the words inside it. That is the same granularity git diff uses, and Copy diff outputs the same +/- rows, per-side line numbers and @@ hunk headers — but no --- / +++ file header, no rename or binary detection, so the result reads well in a commit message or review comment rather than being a patch git apply can consume. For prose where you care about the words, split the text into shorter lines first — one sentence per line diff far more usefully than one long paragraph per line.

How much text can I compare, and is it sent anywhere?

Each side may hold up to 4000 lines; beyond that the tool refuses and asks you to paste only the section you care about, because an entire file is rarely what you wanted to read. It also caps how much it aligns at once, so a change at the very top and another at the very bottom of a large paste reports that the span is too wide instead of freezing the page. The copied diff is cut off above 200,000 characters with a marker saying so. Nothing leaves your machine: alignment runs in this page with no dependency and no upload, which is what makes it safe to diff dumps and configs containing real credentials.

Guides

Related tools