JSON Compare
Paste two JSON documents and see precisely what differs between them. A normal line diff is close to useless on JSON, because reformatting or a different key order rewrites every line without changing a single value. This compares the parsed data instead and reports differences by path — so you get `~ user.address.city: "Leeds" → "York"` rather than “lines 4 to 19 changed”.
Sorts arrays of primitives before comparing, so [1,2] and [2,1] match. Arrays of objects are left alone.
Nothing is uploaded — this tool runs inside your browser, so your files never leave your device.
Why use this tool
- Compares values, not text — key order and indentation are ignored
- Reports every difference by its full path from the root
- Optionally ignores the order of arrays of simple values
- Names the line and column when either document fails to parse
How it works
- 1Paste the first JSON document on the left.
- 2Paste the version you want to compare into the second box.
- 3Read the differences: ~ changed, + only in the second, - only in the first.
JSON Compare — frequently asked questions
Because JSON has no meaningful line structure. The same object written by two different libraries can differ on every line — different indentation, different key order, different escaping — while holding identical data. A path-based comparison answers the question you actually have, which is what changed in the data.
More developer tools
Looking for something else? Browse all developer tools
Explore the other tools
Same deal everywhere on the site — free, no sign-up, and no watermark on anything you download.
Or see every tool on one page.