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
- Paste the original version into the Original pane and the new version into Changed.
- Pick Text mode for plain text or code, or JSON mode to compare two JSON documents semantically.
- Read the inline diff below: red rows are removed lines, green rows are added lines, with line numbers from both versions in the gutters.
- 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.)