About the JSON Diff Checker
JSON Diff Checker compares two JSON documents and lists exactly what is different. Paste the original on the left and the changed version on the right, and the page shows every key or array item that was added, removed or changed, each with its path such as owner.active or tags[1], the old value and the new value, in green, red and yellow rows, with a count at the top. It understands nested objects and arrays, ignores the order of keys and differences in spacing and tells you when the two documents are identical. It is handy for API responses, configuration files and data exports, and everything runs in your browser.
Updated October 2026
How to use the JSON Diff Checker
- 1Paste the original JSON on the left.
- 2Paste the changed JSON on the right.
- 3Read the list of differences with their paths.
- 4Press Copy the differences to save the list as text.
- 5Fix a syntax error if the page names one.
Comparing data, not text
When two JSON files look different in an editor, it is often only formatting: different indent, different key order or a trailing newline. A data-aware diff removes that noise and shows only values that differ, which is what you usually want when checking an API change, a config update or a data migration.
Reading the results
Each row begins with a plus for added, a minus for removed and a tilde for changed. The path shows where to look. Green rows are new in the right document, red rows exist only in the left and yellow rows exist in both with different values.
- + owner.plan: new key
- − owner.active: key removed
- ~ version: 1 → 2 value changed
- tags[2]: extra array item
Tips for arrays
If the order of an array is not important, such as a list of tags, sort it in both documents before you compare. For lists of objects with an id, consider converting them to objects keyed by the id so that the diff lines them up. A Compare Lists tool can help with plain lists.
Related tools
Format JSON first with the JSON Formatter, check syntax with the JSON Validator, compare plain text with the Diff Checker and convert with the JSON to YAML Converter. The JSON Path Tester finds values by path.
Features
- Added, removed and changed values with paths
- Colour-coded rows and a summary count
- Nested objects and arrays
- Ignores key order and spacing
- Clear errors for invalid JSON
- Private: nothing is uploaded
Frequently asked questions
How does the comparison work?
Both documents are parsed and compared value by value. Objects are matched by key, so the order of keys does not matter. Arrays are compared by position.
Why does an array change show many differences?
Arrays are compared by index. If you insert an item at the start, every item after it shifts and shows as changed. Sort the arrays first if their order does not matter.
What does the path mean?
The route to the value: owner.id is the id key inside owner, and tags[1] is the second item of the tags array.
Does it compare formatting?
No. Spaces, line breaks and key order are ignored, so a minified file and a pretty-printed file with the same data are identical.
Does it find differences in numbers and types?
Yes. 1 and the text 1 are different, and null is different from 0.
How is it different from a text diff?
A text diff compares lines and shows every reformatting change. This tool compares the data, so only real differences appear.
Can I compare big files?
Yes, as far as your browser's memory allows. Files of a few megabytes are fine.
Is my data uploaded?
No. The comparison runs in your browser, so private data stays on your device.