JSON Compare & Diff Tool: Semantic, Not Text
Compare two JSON documents by structure, not text. See added, removed and changed fields, type changes and array differences with exact paths.
JSON Compare tool
Comparison workspace
Runs entirely in your browser. Nothing you paste is uploaded or stored.
Original payload
Modified payload
About this tool
Paste two JSON documents and see exactly what changed: added and removed fields, changed values, type changes, null versus missing, and array differences, each with its JSON path and the values on both sides.
Unlike a line-by-line text diff, IntegrateKit parses both documents and compares their structure. Reordered keys and different indentation are not differences. A number that turned into a string is, and it's flagged as a breaking change.
How to use it
- Paste or drop the original JSON on the left and the modified JSON on the right.
- Optionally open Options to ignore fields or paths, ignore array order, or treat null as missing.
- Press Compare (Ctrl/⌘ + Enter). Click a difference, or use F8 and Shift+F8, to jump to it in both editors.
- Copy a text summary or download the full result as JSON.
Limitations
- Inputs up to 25 MB per side. Very large comparisons list the first 10,000 differences; the summary still counts all of them.
- Arrays compared by ignoring order report unmatched elements as removed and added rather than as nested changes.
- Comments, trailing commas and JSON5 syntax are reported as errors.
Example
{ "active": true, "roles": ["admin", "editor"], "lastLogin": null }
{ "active": "true", "roles": ["editor"], "lastLogin": "2026-10-30T08:15:00Z", "plan": "pro" }Breaking Type changed $.active true → "true" (boolean → string)
Info No longer null $.lastLogin null → "2026-10-30T08:15:00Z"
Info Field added $.plan missing → "pro"
Warning Array length $.roles 2 → 1 items
Warning Value changed $.roles[0] "admin" → "editor"
Warning Item removed $.roles[1] "editor" → missingCommon use cases
Reviewing an API change
Compare a response before and after a code change to confirm only the fields you intended actually changed.
Checking configuration drift
Diff JSON configuration or feature-flag files between environments and spot missing keys and changed types at a glance.
Debugging test failures
When an assertion on a JSON body fails, paste expected and actual payloads to see the exact paths that differ.