Compare two JSON documents and highlight added/removed/changed fields
JSON Diff is a semantic-level comparison tool. Unlike line-by-line text diffing, it understands JSON's data structure and focuses only on actual key-value changes, ignoring formatting, indentation, and key ordering differences. This helps developers pinpoint the real differences between two JSON documents.
The tool flattens both JSON documents into key-path → value maps and compares them key by key, ignoring differences in indentation and key ordering — only semantic changes matter:
Unlike plain text diff, {"a":1,"b":2} and {"b":2,"a":1} are treated as identical.
No. The tool performs semantic comparison, so {"name":"a","age":1} and {"age":1,"name":"a"} are considered identical.
Yes. The tool recursively flattens all levels, using dot-path notation (e.g., data.users[0].name) to identify each value's position. There's no depth limit.
Arrays are ordered structures, so element order changes are flagged as differences. If you only care about which elements exist regardless of order, sort the arrays before comparing.