About this tool
Compares two JSON values recursively — not just as text, but structurally — so key order and whitespace differences don't get reported as changes, only actual differences in the data. Each difference is listed with the exact path to where it occurs, using dot notation for object keys and bracket notation for array indices.
How to use the JSON Diff Checker
- Paste the original JSON on the left and the changed version on the right.
- Click "Compare" to see every difference.
- Read the path for each difference to find exactly where it is in nested data.
Common use cases
- Checking what changed between two versions of an API response
- Comparing a config file before and after a deploy to confirm only the intended fields changed
- Debugging why two "identical-looking" JSON payloads are behaving differently
Worked example
With the sample data preloaded above, three differences are reported: version changed from "1.0.0" to "1.1.0", a new item "c" was added at tags[2], and a new key config.timeout was added with the value 30. Nothing is reported for name or config.retries, since those are identical in both.
Things to watch out for
Array comparison here is position-based, not content-aware — if an item is inserted in the middle of an array rather than appended, every item after it will show up as "changed" at that index, even though nothing about the item's own data actually changed. This is a straightforward but honest limitation of comparing by index rather than trying to guess which items correspond to which.
Frequently asked questions
No. Two objects with the same keys and values in a different order are treated as identical — only the actual data is compared, not the formatting or key order of your input.
By position. Each index is compared between the two arrays, so an item added at the end shows up as "added" at that index, but an item inserted in the middle will make every following item look "changed" at that same index, since it's comparing by position rather than by content.
The tool tells you which side failed to parse and shows the browser's own JSON parse error message, so you can find the exact problem before comparing.