Free

Diff Checker

Side by side or unified, with the changed words highlighted rather than the whole line - and nothing leaves your browser, which matters when the two versions are source code.

  • Free forever
  • No signup
  • Runs in your browser

At a glance

Takes
Two blocks of text or code, pasted side by side
Returns
The differences, side by side or unified, down to the changed words
Handles
Myers' algorithm - the same one git diff uses - with whitespace and case toggles
Privacy
Compared in your browser - neither side is uploaded

Nothing you type leaves this page

This tool runs entirely in your browser. Nothing you type or paste is sent to Revquix or to anyone else, no account is needed, and the page keeps working with your network disconnected.

Full detail in our privacy policy and AI policy.

How this works

About Diff Checker

What it checks, what it deliberately does not, and how to read the output.

How the comparison is computed

The alignment uses Myers' algorithm, which is the same one git diff uses by default. Its useful property is that the cost scales with how different the two inputs are rather than how large they are, so two nearly identical thousand-line files are aligned almost instantly. The common prefix and suffix are stripped before the algorithm runs, which reduces a one-line change in a long file to a one-line problem.

The alternative, the textbook dynamic-programming table, would need twenty-five million cells for two five-thousand-line files. That is both slow and roughly a hundred megabytes of memory, in a browser tab, for a diff.

Why modified lines are paired

An edit script is a list of deletions and insertions, and showing them in that raw form is what makes most diff viewers hard to read: a changed line appears as a deletion several rows above its replacement. Adjacent deletions and insertions are paired here into single modified rows, and within each pair a second word-level comparison highlights only the words that actually changed.

That is the difference between seeing that a line changed and seeing what changed in it - which for a long line of configuration or a rewritten sentence is the entire question.

  • Side-by-side or unified view, with three lines of context in unified
  • Word-level or whole-line highlighting
  • Ignore whitespace, for comparing re-indented code
  • Ignore case, with a warning if that is the only reason the sides match

The unified output is a real patch

The unified view produces the same format as diff -u and git diff, hunk headers included, so it can be pasted into a code review, an issue or a commit message and will render as a diff wherever that format is understood. The download gives you a .patch file.

What it will not do

It is not a merge tool. It shows you what differs; it will not resolve conflicts, produce a combined version, or apply a patch. It also has no notion of syntax, so it cannot tell you that two versions of a function are semantically equivalent despite differing formatting - turning on whitespace-insensitivity is the closest approximation.

Inputs that differ by more than a few thousand lines are reported as a whole-block replacement rather than aligned line by line, because a per-line alignment of two unrelated documents produces noise rather than information. And where the two sides match only because whitespace or case is being ignored, the tool says so rather than reporting them as identical.

FAQ

Questions people actually ask

The ones that come up before somebody uploads anything.

Is my code uploaded to compare it?

No. Both versions stay in your browser and the comparison runs there, which is the reason this tool is usable for proprietary source at all. There is no network request during a diff and the page works offline; you can confirm it in the network tab.

What is the difference between the side-by-side and unified views?

Side by side shows both versions in parallel columns, which is easier to read when lines were modified rather than added or removed. Unified is the format git and patch use - one column with + and − markers and three lines of context - and it is what you want for pasting into a review or a commit message.

Why do two lines show as modified rather than as a deletion and an addition?

Because a deletion immediately followed by an insertion is almost always one line being edited, so they are paired into a single row and compared word by word. Seeing which three words changed in a long line is far more useful than seeing that the whole line was replaced.

Can it ignore formatting differences?

Whitespace and case, yes - which covers re-indentation and most casing changes. It has no syntactic understanding, so it cannot tell you that two differently formatted versions of a function are equivalent. If the sides become identical only because a normalisation is on, the tool tells you the raw text still differs.

How large can the two sides be?

One megabyte each. Beyond a few thousand lines of difference the tool reports a whole-block replacement instead of a line-by-line alignment, because aligning two essentially unrelated documents produces output nobody can read.

Next, try one of these

More from Developer, or browse the full catalogue.

A diff is not a review

Seeing what changed is not the same as knowing whether it should have

A tool can show you three lines moved. It cannot tell you the abstraction is wrong, that the test proves nothing, or that this is the fourth patch on a design that needs replacing. That is a conversation with someone senior enough to say so.

Talk to an engineer from ₹549/hr