JSON diff

Compare two JSON documents by meaning, not formatting. Get a list of added, removed and changed paths, or a side-by-side view of the normalised text.

Arrays
Original
Changed
Waiting for inputPaste two JSON documents to compare them.

How to compare JSON

  1. Paste the original document on the left and the changed one on the right, or open files. The comparison runs automatically.
  2. Changes lists every path that was added, removed or changed, with old and new values.
  3. Side by side shows both documents line by line with the differences highlighted.

Options

Arrays by index
Item 0 is compared with item 0, item 1 with item 1, and so on. Best for ordered lists.
Arrays as sets
Order is ignored and items are matched by content, so a re-sorted list counts as unchanged. Changed items show as removed plus added.
Normalise text view
Sorts keys and re-indents both sides before the line diff, so only real differences show up. Untick it to diff the text exactly as pasted.

Key order never matters in the structural comparison, and numbers are compared by value, so 1.0 equals 1.

Frequently asked questions

Can I compare invalid JSON?

Each side must be valid JSON. If one is not, the error is shown with its position and a Repair it button.

Does it handle large files?

Yes. Documents of several megabytes compare in a moment; if there are thousands of differences the list is shortened to keep the page responsive.

Why is a reordered array reported as changed?

By default arrays are compared position by position. Switch Arrays to As sets to ignore order.