JSON Diff and Compare

Put two documents side by side and see exactly what differs - which keys were added, which were removed, and which values changed, each with the path to reach it.

What the comparison tells you

Every difference is reported with its full path, so a change buried eight levels down is as easy to find as one at the top. The summary counts additions, removals and changes, which is usually the first thing you want to know when comparing two API responses.

Either side can be JSON or a Python dict - you can compare a Python repr against a JSON response without converting anything first.

A caveat about arrays

Arrays are compared by position. If you insert one element at the front of a list, every element after it shifts, and the comparison reports all of them as changed rather than recognising a single insertion. That is worth knowing before you read a large array diff and conclude that everything changed.

For objects there is no such caveat: keys are matched by name, so order does not matter.

Questions

How do I compare two JSON files?
Load the first document into the tool, open the Tools panel, choose Compare, and paste the second document into the box that appears. Differences are listed immediately.
Can I compare a Python dict against JSON?
Yes. Both sides accept either syntax, so you can paste a Python repr on one side and a JSON response on the other.
Why does the diff show so many changes in an array?
Arrays are compared by position, so inserting or removing an element near the start shifts everything after it and each shifted element is reported as a change.

Open JSON Explorer and try it on your own data