JSON compare
Runs in your browser; nothing is uploaded
Compare two JSON documents by meaning, not by text: key order never counts, and array order can be ignored. Every difference is listed with its path. Nothing is sent.
Original
Changed
Differences
Nothing to compare yet
Comparing JSON by meaning
Two JSON documents can hold exactly the same data and still look different: keys in another order, different indentation, 1.0 instead of 1. A text diff reports all of that as changes. This tool parses both documents and compares the data itself, so only real differences are listed.
Each difference has the path of the value it's about, such as $.orders[2].total, and shows the value before and after. A value that changed type (an object that became a string, a number that became null) is marked separately, because that's usually the change that breaks a client.
Arrays are compared by position, since order often matters in JSON. When it doesn't, for example a list of tags or a set of records returned in no fixed order, turn on Ignore array order: equal items are matched wherever they are, and only items that really changed are listed.
How to use this tool
- 1Paste the original JSON in the top editor and the changed JSON in the one below, or pick an example.
- 2Read the differences on the right: added, removed, changed and type changed, each with its path.
- 3Turn on Ignore array order if the order of items in arrays doesn't matter.
- 4Copy the list to paste it into a ticket or a review.
Troubleshooting
- Every item in an array is listed as changed
- An item was inserted or removed near the start, so every later item moved by one position. Turn on Ignore array order to match items by content instead.
- JSON can't be read
- One of the documents isn't valid JSON. The message gives the line and column; the JSON formatter explains common mistakes.
Frequently asked questions
Is my JSON uploaded?
No. Both documents are parsed and compared in your browser.
How is this different from the text diff?
The text diff compares lines, so formatting and key order count. JSON compare compares data, so they don't.
Can I compare two API responses automatically?
Yes: API tests on testingapis.com can check responses against a saved shape on every run and alert you when they change.