Tool guide
About JSON Diff Checker
A JSON diff tool compares two documents by structure instead of by text, so you see what changed in the data rather than in the formatting.
Paste the original JSON on one side and the modified JSON on the other, and the comparison updates immediately into a table of added, removed, and changed values with the path of each one.
How to use the JSON Diff tool
- Paste the original document into the first input and the changed document into the second.
- Read the summary counters at the top, shown as +N -N ~N, for the size of the change.
- Scan the result table: change type, path, value before, value after.
- Follow a path such as a.b[2] back into your source file; keys join with dots and arrays use an index.
When you would use it
- Compare configuration between two environments, such as a staging JSON config against the production one.
- Review how an API response changed between two versions of a service before you rely on the new shape.
- Investigate what really moved inside a package-lock.json or another generated dependency manifest.
- Check what a tool changed after it reserialized an infrastructure as code file or a Kubernetes manifest.
How paths and change types are reported
Every row points at one location in the document, written the way you would read the value in code so it is easy to find in the source file.
- Added: the path exists only in the changed document, and the value after column shows the new value.
- Removed: the path exists only in the original, and the value before column shows what was there.
- Changed: the path exists on both sides with different values, so both columns are filled.
- A path like a.b[2] means key b inside object a, then the element at index 2 of that array.
JSON Diff FAQ
- Why does reformatting the file produce no differences?
- Because both sides are parsed first. Indentation, key order, and line endings are not part of the parsed structure, so they never appear as differences.
- Why does inserting one array element mark everything after it as changed?
- Arrays are compared by index. An insertion shifts every later element to a new position, so each shifted position is reported as a change. That is inherent to positional comparison, not a defect.
- What happens if one side is not valid JSON?
- Both inputs must parse successfully. If either side is malformed, a parse error is shown instead of a comparison.
- What is shown when the two documents match?
- The tool states explicitly that there are no structural differences, instead of leaving an empty result that could look like a failure.
- Is my data uploaded anywhere?
- No. Parsing and comparison run locally in your browser using the microdiff library, so nothing you paste is sent to wetool.site or any other server.
JSON diff vs plain text diff
A text diff compares lines of characters, so reordered keys, a switch from two spaces to four, or different line endings all show up as differences even though the data is identical, and real edits get buried in that noise. A JSON diff parses both documents first and reports only semantic differences, so key order and formatting are ignored. Use a text diff when the exact bytes matter, and this one when only the data matters.
Reading the results without being misled
Structural comparison answers a narrow question precisely, so it helps to know what the table does and does not tell you.
- A long list of changes concentrated in one array usually points at a single insertion or a reordering rather than many independent edits.
- Types matter: the string 1 and the number 1 are different values and are reported as a change.