How to Compare JSON Online
Comparing two JSON documents by eye is slow and unreliable: a single changed value can hide inside thousands of lines of nested objects and arrays. A JSON compare tool does this mechanically — you paste the original on the left and the modified version on the right, and it lists every difference with its exact location, so you can review API changes, config updates and test fixtures in seconds instead of scrolling through walls of text.
The key distinction is semantic comparison versus plain text diff. A text diff flags every reordered key and every whitespace change as a difference, burying the real changes in noise. This tool parses both documents into data structures first, so {"name":"Alice"} and a pretty-printed version of the same object compare as identical. Object key order never counts; only genuine changes in values, types or structure are reported.
Each difference is classified into one of three kinds. Added means the right document has a value the left one lacks, such as a new user.email field. Removed means the left document has something the right one dropped, like a deleted user.phone. Changed means both sides have the same path but different values or types, for example user.name going from "Alice" to "Bob", or a count flipping from the number 1 to the string "1".
Nested objects are compared at any depth, with each change reported under its full path — user.profile.name, settings.theme, and so on. Arrays are compared by index, so [1, 2, 3] and [3, 2, 1] are different by design: element order is usually meaningful in JSON data, and an element that changed shows up with its index, like items[1].name. Extra elements on either side appear as added or removed at their index.
If your API returns JSON and you need to reshape it first, the JSON Formatter & Validator can beautify, validate and minify either document before you compare. Tokens and encoded payloads from those responses can be inspected with the JWT Decoder or the Base64 Encoder & Decoder.
Unlike services that ask you to upload sensitive payloads, this comparison runs entirely in your browser. Nothing is sent to a server: you paste or drop two .json files, both are parsed locally, the diff is computed locally, and closing the tab leaves nothing behind.
How to Use This Tool
- Paste the original JSON into the Left panel — or drop a
.jsonfile onto it, then use Format or Clear as needed. - Paste the modified JSON into the Right panel the same way.
- Click "Compare JSON" to parse both documents and compute their semantic differences.
- Review the summary — total count plus the added / removed / changed breakdown — and filter the list by kind.
- Copy any path with one click to jump straight to it in your editor.
Benefits
- Semantic, not textual — key order and whitespace never count as differences.
- Precise paths — every change is located, from
user.nametoitems[2].id. - Added / Removed / Changed — differences are classified so reviews stay fast.
- 100% private — parsing and comparison happen locally; nothing is uploaded.
- File-friendly — drop a
.jsonfile into either panel, no signup needed. - Free forever — no account, no limits and no watermarks.
Malformed input never produces a misleading diff: if either side fails to parse, the tool reports which side is invalid and the exact line and column to fix, and comparison waits until both documents are valid.