JSON diff
Compare two JSON documents structurally and see every added, removed and changed value by its path.
JSON diff
Paste the original JSON into the first field and the changed version into the second, and the tool reports every difference by its path: + user.roles[2] = "admin" for an added value, − user.legacyId for a removed one, ~ user.name: "Anna" → "Eva" for a change. The comparison is structural, not textual — both documents are parsed and their values compared recursively, so reformatting, indentation and the order of object keys never count as differences. That is exactly what a plain text diff gets wrong about JSON.
Reach for it when two API responses should match but don't: staging against production, yesterday's payload against today's, the response before and after a deploy. It is just as useful for configuration drift — two exported config files that grew apart over time — and for debugging serialized state, where a single changed flag hides in kilobytes of nested objects.
Array elements are compared by index, so a shifted list shows up as a run of changes. When order genuinely doesn't matter — tags, permission lists — turn on "Ignore array order" and arrays are matched as multisets: only genuinely added or removed elements are reported. "Show unchanged values" additionally lists every unchanged path, which turns the output into a full annotated inventory of the document. The output format turns the same comparison into a patch you can apply: RFC 6902 JSON Patch, with add, remove and replace operations on JSON Pointer paths, or an RFC 7396 merge patch where a null marks a deleted key. Array removals are ordered back to front so the patch still applies after each step, and test operations can be added before every change so applying it to a drifted document fails instead of overwriting someone else's edit.
Both documents are parsed and compared entirely in your browser. Nothing is uploaded, so production payloads, tokens and customer data inside your JSON stay on your device.