JSON Structural Diff
Compare two JSON values by structure — added / removed / changed paths with old and new values. Optional unordered-array mode.
+3 −1 ~2
| Path | Change | Left | Right |
|---|---|---|---|
| changed | "alice@example.com" | "alice@newdomain.com" | |
| $.tags[2] | added | "premium" | |
| $.profile.age | changed | 30 | 31 |
| $.profile.city | removed | "Boston" | |
| $.profile.country | added | "US" | |
| $.lastLogin | added | "2026-05-28T09:00:00Z" |
Structural, not textual
We walk the trees instead of comparing serialized text, so key order, whitespace, and formatting don't register as changes. Only real value differences show up.
Array handling
Arrays are compared by index by default. Mismatched lengths produce added / removed entries for the tail. Toggle to compare by hash for unordered sets.
You might also like
- Diff CheckerCompare two pieces of text side-by-side with line- and word-level highlighting.
- SemVer CompareCompare two SemVer 2.0.0 versions — get direction (upgrade / downgrade / equal) and the diff kind.
- SQL DiffCompare two SQL queries or schemas after canonical formatting — ignore whitespace and casing noise.
- CSV ↔ JSON ConverterConvert CSV to JSON or JSON to CSV with quoted fields and configurable delimiters.