Find every difference between two JSON documents
A line-by-line text diff is noisy for JSON: re-indenting a file or reordering keys produces lots of “changes” that are not real. This tool compares the data. Both documents are parsed and walked together, and each difference is reported with a precise path:
- + added – the key or array item exists only in the modified document.
- − removed – it exists only in the original document.
- ~ changed – it exists in both, but the value or type is different.
Object keys are matched by name, so key order never matters. Array items are compared by position (index 0 with index 0, and so on), which is how most APIs and configuration files treat arrays.
How to compare JSON
- Paste the original JSON into the top box and the new version into the bottom box (or upload files).
- The differences appear immediately. Use the Text tab for a plain list you can paste into a ticket or pull-request comment.
- Use Swap to reverse the direction of the comparison.
Example
Original → Modified
{"version": "1.2.0", "replicas": 3}
{"version": "2.0.0", "replicas": 3, "region": "eu"}Result
~ version: "1.2.0" → "2.0.0"
+ region: "eu"Typical uses
- Reviewing configuration changes before a deployment.
- Comparing API responses between staging and production.
- Checking what a migration script changed in exported records.
- Verifying snapshot or fixture updates in tests.
Frequently asked questions
Does the order of keys matter?
No. Keys are matched by name. Only the order of array items matters.
Can I compare very large files?
Yes, the comparison runs locally. Extremely large documents with many differences may take a moment to render.
How are type changes shown?
If a value changes type — for example from the number 3 to the string "3" — it is shown as changed, with both values.
Is my data uploaded?
No. Both documents stay in your browser.