JSON diff
Paste two JSON documents separated by --- to see a structural diff.
Runs in your browser Instant No signup, no tracking
About this tool
A structural diff for JSON. Paste two documents separated by a line containing exactly `---`. The tool walks both trees and reports additions (`+`), removals (`-`), and changes (`~`) with a dotted path so you can jump straight to the difference. Unlike a text diff, key order doesn't matter — `{a:1,b:2}` and `{b:2,a:1}` are treated as equal. Arrays are compared by index.
Example
Paste the input on the left and you will get output like this:
Sample JSON A --- JSON B
{
"name": "Ada",
"roles": ["admin", "author"],
"meta": { "active": true }
}
---
{
"name": "Ada",
"roles": ["admin", "editor"],
"meta": { "active": false, "last_login": "2024-01-01" }
}Resulting Diff
~ roles[1]: "author" → "editor" ~ meta.active: true → false + meta.last_login: "2024-01-01"
How to use JSON diff
- Paste or type your JSON A --- JSON B into the left pane.
- The Diff appears instantly in the right pane. Conversion runs in your browser — nothing is uploaded.
- Copy the result to your clipboard or download it as a file.
FAQ
- Is key order significant?
- No. Two objects with the same keys and values in different orders are considered equal.
- How are arrays compared?
- By index. Reordered arrays will show up as every element having changed.
- Can I diff YAML?
- Convert both documents to JSON first with the YAML to JSON tool, then paste them here.