tools/text/json diff
// textnew

json diff

deep-diff two json objects — added, removed, changed

// client-only ← paste both JSON objects
// original
// modified
// diff
← paste both JSON objects

// about this tool

JSON Diff performs a deep structural comparison between two JSON objects and reports every change as an added key (+), removed key (−), or changed value (~). The diff walks nested objects and arrays recursively, reporting paths in dot-notation (user.address.city) so you can pinpoint exactly what changed at any depth. Everything runs in your browser — no JSON leaves your machine.

// when to use

  • Compare two API responses to find exactly which fields changed between versions
  • Audit configuration drift between a staging and production JSON config
  • Debug a serialization bug by comparing the before and after snapshots of an object
  • Validate that a migration script transformed data correctly by diffing sample rows

// faq

Does it diff arrays element-by-element?
Yes. Array elements are compared by index. If an element was inserted or removed, all subsequent indices shift and appear as changes. For large arrays this can produce verbose output — consider comparing specific slices.
What does the path notation mean?
Paths use dot notation for object keys (a.b.c) and bracket notation for array indices (items[2].name). The full path tells you exactly where in the nested structure the change occurred.
Are nested objects expanded?
Yes. If an object value changes, the diff recurses into it and reports individual field changes rather than showing the whole object as changed. Only primitive values (string, number, boolean, null) are shown as leaf-level diffs.
// history
Pro Cloud Sync — upgrade
no operations yet