JSON diff
Compare two JSON documents structurally and see every added, removed and changed value by its path.
Related tools
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.
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.