Structural JSON diff
Compare JSON values structurally and locate additions, removals and replacements.
Processed in this browser · nothing is uploaded
Result
Ready when you areEnter your input and run the tool to see your result here.
Good to know
Object key order is ignored; arrays are compared by index. Paths use JSON Pointer escaping: / becomes ~1 and ~ becomes ~0. Array moves are not inferred.
Before JSON: {"name":"old","count":1}
After JSON: {"name":"new","count":2}Understand and use your results
Compare before-and-after API responses or configurations structurally. Whitespace and object key order alone do not count as changes.
How to use it
- Enter the before and after JSON in their respective fields.
- Inspect added, removed and replaced paths, then check the values in the source.
Worked example
before: {"count":1}
after: {"count":2}replace at /count: 1 → 2
The /count path refers to the count key in the top-level object. The number 1 and string "1" are different values. The output is a comparison report and does not modify the source.
Are reordered array items reported as moves?
Arrays are compared by index, so reordering can produce several replacements. Object paths escape / as ~1 and ~ as ~0. The tool does not match array entries by a unique identifier.