Structural JSON Diff
Compare two JSON values structurally (not as text). The tree walk reports each difference by full JSON path and classifies it as added, removed, changed or type-changed. Key order is ignored. Everything runs in your browser.
Usage
Compares two JSON values structurally (recursive walk), not as text. Key order is ignored.
Four diff types
- + Added: key/element present only on the right;
- − Removed: present only on the left;
- ~ Changed: same path, different primitive value;
- ! Type-changed: same path, different type (e.g.
"85"vs85).
Each diff is labelled with its full JSON path (e.g. $.user.phone, $.tags[2]). Click any colored badge to filter that diff type. Everything runs locally; JSON is never uploaded.
Use cases
FAQ
How does this differ from git diff?
git diff compares text lines; this tool compares JSON semantically. Reordered keys aren't reported as differences.
How are arrays compared?
By index. Elements that moved are flagged as changed; sort both sides first if you want order-insensitive comparison.
What's the difference between Changed and Type-changed?
Type-changed (e.g. "85" vs 85) is marked !; same-type with different values is marked ~.
Can I copy a diff path?
Yes — every diff has a full JSON path like $.user.phone you can paste straight into your code.