Skip to content

Tool 05 / Review

See exactly what changed.

Paste the old version and the new one. Changed lines are paired, the words that differ are marked, and neither draft leaves your browser.

  • Free to use
  • Word highlights
  • Runs locally
Live workbench5 differences
Comparison options

Compared by line; changed lines pair up and highlight the words that differ.

6 lines
7 lines
2 same4 changed1 added0 removed
OriginalChanged
1
Release notes — v2.4
1
Release notes — v2.5
2
- Faster exports for large lists
2
- Faster exports for very large lists
3
- Fixed a bug where blank rows were kept
3
- Fixed a bug where blank rows were dropped
4
- New prefix tool
4
- New prefix and suffix tool
5
- CSV downloads use UTF-8
5
- CSV downloads use UTF-8
6
- Added a text comparison view
7 rows5 differencesCompared locally

What it does

A diff answers a simple question — what is different between these two versions? — and a good one answers it without making you read both versions again. This page compares two blocks of plain text line by line, groups the result into unchanged, changed, added, and removed lines, and paints the changed words inside each modified pair.

The comparison is deliberately ordinary: it is the kind of diff you would see in a code review, applied to prose. There is no formatting, no revision history, and no account. Paste a contract clause, a changelog, a configuration file, or two versions of a product description.

The summary bar counts what the algorithm found. Changed means one line on the left was paired with one line on the right. Added and removed mean lines with no counterpart on the other side. Identical text produces zero differences and a green badge.

How to use it

  1. Paste the original into Original and the revised version into Changed.
  2. Choose whether case, whitespace, or blank lines should be ignored. Start with all three off if you need to see every change.
  3. Read the diff. In side-by-side view, removed words are marked on the left and added words on the right. In unified view, the two versions are stacked with - and + markers.
  4. Use Swap sides if the versions are in the wrong boxes.
  5. Copy the change report or download it as a text file.

Options explained

Ignore case
Treats Release and release as the same. Useful when a style guide changed the capitalization and you do not want those lines to dominate the diff.
Ignore whitespace
Trims each line and collapses runs of spaces or tabs for the comparison. Text that differs only in indentation or alignment disappears from the diff. In code, that can hide a meaningful change, so use it with care.
Ignore blank lines
Drops empty and whitespace-only lines before comparing. The line numbers in the output still refer to the original positions, so a gap in the numbering is expected.
Side by side / Unified
Side-by-side pairs the versions in two columns and highlights the changed words. Unified stacks them with -/+ markers, which is easier on a narrow screen or when you want a compact report.

Examples

A sentence-level copy edit
Word highlights

Before

The old pricing page felt cluttered.
We moved the comparison table above the fold and shortened the delivery note.

After

The new pricing page feels calmer.
We moved the comparison table above the fold and shortened the shipping note.

The tool pairs the first lines and marks only the words that changed: old → new, and delivery → shipping. The second line is unchanged, so it stays quiet. That is the difference between a diff and a side-by-side screenshot.

A one-character bug fix
Case and whitespace significant

Before

if (user.role = "admin") {
  grantAccess();
}

After

if (user.role === "admin") {
  grantAccess();
}

Only the operator changed, and the highlighting makes that obvious. With “Ignore whitespace” on, the indentation remains part of the comparison but spacing differences would not count. For code, keep the ignore options off unless you are deliberately comparing prose-like output.

A moved paragraph
Reported as remove + add

Before

Intro
Pricing
Support
Contact

After

Intro
Support
Pricing
Contact

The moved line is shown twice: removed from its old position and added at the new one. The diff is still correct, but it cannot tell you that the text merely moved. That is a limitation of a line-based comparison, not a bug in the output.

When it earns its keep

  • Editing and proofreading. Check that a revision changed only what it was supposed to change.
  • Client feedback. Paste the version you sent and the version that came back; see every edit without rereading the whole document.
  • Configuration and policy files. Compare two exported configs or two versions of a policy before deploying or publishing.
  • Data checks. Compare a list before and after a transform to confirm that only the expected rows changed.
  • Translation review. Keep the source and translation side by side and see which lines no longer correspond.

Limits worth knowing

  • 2,000 lines per side. The comparison is refused beyond that because the algorithm would otherwise make the tab unresponsive. Compare a section instead.
  • Line-based, not character-based. A changed line is paired with a changed line and the words inside are highlighted. Reflowing a paragraph so that every line break moves will look like a large change even if the prose is identical.
  • No move detection and no three-way merge. Moved blocks show as a removal plus an addition. There is no base version, no conflict resolution, and no patch export.
  • Whitespace can be meaningful. “Ignore whitespace” is convenient for prose and dangerous for Python, YAML, and Makefiles. Keep it off when indentation is syntax.
  • Very long changed lines are highlighted coarsely. Word-level highlighting is limited to 700 tokens per line; beyond that the whole line is marked as changed rather than freezing the page.
  • Nothing is stored. Refresh or close the tab and both drafts are gone. Copy the report if you need a record.

Page updated

Questions, answered

Is this a character diff or a line diff?

It compares line by line, then pairs changed lines and highlights the words that differ inside each pair. That makes it good for prose and configuration files. It is not a character-by-character diff and it does not show a cursor-level merge.

Can I compare source code?

Yes, as plain text. There is no syntax highlighting, and the “Ignore whitespace” option can hide indentation changes that matter in Python or YAML. Leave it off when whitespace is part of the syntax.

What does “Ignore whitespace” actually ignore?

For comparison only, it trims the ends of each line and collapses runs of spaces or tabs to a single space. The text you see in the diff is still the original. Two lines that differ only in spacing will be treated as the same and will not appear as changes.

Does it detect moved lines?

No. A block that moved from one place to another usually appears as a removal at the old position and an addition at the new one. Move detection needs a different algorithm and, in practice, a more opinionated UI.

How large can the comparison be?

Each side is limited to 2,000 lines. Beyond that the page refuses the comparison rather than freezing the tab. For a large file, compare the section that changed instead of the whole document.

Can I copy the result?

Yes. “Copy report” produces a plain-text report with a leading space for unchanged lines, a minus for removed lines, and a plus for added lines. It is designed to be pasted into a message or a ticket, not applied as a git patch.

All tools →