JSON Diff runs entirely in your browser using JavaScript (browser). Your data never leaves your device.
Free JSON Diff & Compare
Compare two JSON documents and see exactly what changed. This tool performs a key-aware structural diff — matching object keys by name and array items by index — and lists every value that was added, removed, or changed, with the full dot-path to each one. It ignores cosmetic differences like key order and whitespace, validates both sides, and can pretty-print each document.
Key-aware structural comparison — object keys are matched by name, arrays by index. Runs entirely in your browser.
Frequently Asked Questions
You might also like
Browse all 25 Developer Tools tools →JSON Formatter
Format, validate, and minify JSON instantly
Text Diff Checker
Compare two texts and highlight the differences instantly
JSON to CSV Converter
Convert JSON arrays to CSV — free, private, instant download
Compared with
What This JSON Diff Tool Does
Paste two JSON documents and this tool computes a structural diff: it matches object keys by name and array items by index, then reports every value that was added, removed, or changed, with the full dot-path to each one (for example user.address.zip or items[2].price). Unlike a plain text diff, it ignores cosmetic differences like key order and whitespace and focuses on what actually changed in the data.
Common Uses
Compare an API response before and after a deploy, verify a config change, review what a migration script altered, check two package.json files, or confirm that a refactor produced byte-for-byte equivalent output. The Beautify buttons also pretty-print each side so you can eyeball the raw structure.
Why a Tool Beats Pasting Into a Chatbot
Large JSON payloads blow past chat context limits and LLMs frequently miscount or hallucinate differences on big objects. A deterministic diff is exact, instant, handles deeply nested structures, color-codes every change, and — critically — never sends your data anywhere. Your JSON often contains customer records, tokens, or internal config, so keeping it in the browser matters.
How Matching Works
Objects are compared key-by-key regardless of order. Arrays are compared position-by-position, so inserting an element near the start will show the later items as "changed" — this is the standard index-based behaviour and is ideal for diffing ordered lists like config arrays or ordered API results.