Diff Checker
Paste or drop two versions — see every added, removed and changed line side by side or inline, down to the word. JSON is compared by meaning, not formatting.
Settings
Word highlights · all context
How to Use Diff Checker in 3 Steps
Add both versions
Paste the original on the left and the changed version on the right, or drop two files onto the card — the first fills Original, the second Changed. Choose JSON to compare documents by content: keys are sorted and both sides are pretty-printed before diffing, so formatting differences disappear.
Read the differences
Removed lines are red, added lines green, and changed lines show the exact words that differ. Use Side by side for prose and configs, Inline for a patch-style view. The arrows jump between changes; the badge counts them.
Export
Copy or download a standard unified .diff that git apply and patch understand, or download the coloured diff as a standalone HTML page to attach to a review or email.
Diff Checker — Frequently Asked Questions
What algorithm does it use?
The line diff comes from jsdiff (Myers’ algorithm, the same family git uses); changed lines are then diffed again word by word for the inline highlights. The library (about 8 KB) downloads once on first use.
How does JSON mode work?
Both sides are parsed, object keys are sorted recursively and the result is pretty-printed with two-space indentation before comparing. Different key order, indentation or trailing whitespace therefore produce no differences — only real value changes. Arrays keep their order (reordering an array is a change). Invalid JSON is reported with the side and the parser’s message.
What do “Ignore whitespace” and “Ignore case” do?
Ignore whitespace treats lines as equal when they differ only in spaces, tabs or trailing whitespace (indentation changes vanish). Ignore case compares Hello and hello as the same. The patch export always uses the original text, so the diff you download still applies cleanly.
Is there a size limit?
Files up to 50 MB load; the diff itself is computed on all lines but the table draws at most 20,000 rows to keep the page responsive — the patch download is always complete. Very large, almost entirely different files can take a few seconds.
Can I apply the downloaded patch?
Yes — it is a standard unified diff with the file names original and changed. Run patch original < changes.diff or git apply changes.diff after renaming the headers to your real paths.
Is my text uploaded anywhere?
No. Everything runs in JavaScript inside your browser tab. Your text and files are never sent to Toolity or anyone else.