What is a diff checker — and how do you compare two files online?

A diff checker takes two versions of a text — an original and a changed copy — and shows you exactly what moved between them: which lines were added, which were removed, and which stayed put. Developers use diffs constantly, often without noticing: every git commit, every pull request review, every `git diff` is the same idea. A standalone diff checker is for everything outside git — comparing two config files from different servers, an API response before and after a deploy, or a document a colleague edited.

Comparing by eye breaks down fast. Two 200-line files can differ by a single character and look identical when you scroll between them. A diff checker removes the guesswork: changes are highlighted line by line, and on modified lines the exact words that changed get a stronger highlight so you spot a one-token edit inside a long line instantly.

Open the free Diff Checker — no signup, runs entirely in your browser.

How to use it

  1. Paste the original version into the Original pane and the new version into Changed.
  2. Pick Text mode for plain text or code, or JSON mode to compare two JSON documents semantically.
  3. Read the inline diff below: red rows are removed lines, green rows are added lines, with line numbers from both versions in the gutters.
  4. Toggle Ignore whitespace or Sort keys to hide noise, and Hide unchanged to collapse long identical stretches.

Why this one

  • Dual line numbers: every row shows where it lived in the original and where it lives in the changed version.
  • Word-level highlighting on changed lines pinpoints the exact edit, not just the line it happened on.
  • JSON mode with key sorting ignores pure key-order churn and shows only real value changes.
  • Large inputs are guarded — huge, wildly different files get a clean refusal instead of a frozen tab.
  • Runs locally in the browser UI: pasted content stays on your machine.

Frequently asked questions

What does the JSON mode actually compare?

Both sides are parsed as JSON first, then pretty-printed and compared line by line. With Sort keys enabled, object keys are sorted recursively before comparing — so two documents that differ only in key order show as identical. Array order stays significant, because reordering an array is a real change.

What is whitespace-insensitive comparison?

The Ignore whitespace toggle treats lines that differ only in leading or trailing whitespace as unchanged. It is useful for code that was re-indented or pasted through tools that mangle spacing, where you care about content changes, not indentation churn.

Is the diff shown side-by-side or unified?

Unified inline: removed and added rows appear in one continuous view, in the order the change happened, with two line-number gutters (original and changed) so you never lose track of either file. Modified lines pair up for word-level highlighting.

How large a file can I compare?

Inputs up to 1,000,000 characters per side are accepted. Past 200,000 characters combined, live diffing pauses and a Compare button appears so the heavy computation only runs when you ask for it. Enormous inputs that share almost nothing get a clear 'too different to diff efficiently' message instead of locking up your browser.

Is my data uploaded when I compare files?

No — in the browser UI the comparison runs entirely on your machine, so pasted configs, logs and API responses are not sent anywhere. (A public API exists for programmatic access; requests to it are processed server-side to compute the diff.)