JSONYard's online JSON diff structurally compares two JSON values and reports the exact paths that were added, removed, or changed — ignoring whitespace and key order. It runs entirely in your browser.
Changes
How to compare JSON online
- Paste the original JSON into the Left pane and the new version into the Right pane.
- Click Compare. JSONYard walks both trees and lists only the paths that actually differ.
- If either side fails to parse, run it through the JSON validator first.
- For pinpointing where a specific value lives in a deep result, the JSONPath tester pairs well with this tool.
Curious how JSON compares to other interchange formats? See JSON vs YAML vs XML.
How structural diff differs from text diff
A text diff (the kind git diff produces) compares lines. If you reformat JSON or reorder object keys, every line changes — even though the data is identical.
A structural diff parses both sides, walks the trees, and reports only paths that actually changed. {"a":1,"b":2} and {"b":2,"a":1} are identical to a structural diff.
Reading the output
+ path — the key exists only in the Right value
− path — the key exists only in the Left value
~ path — the value at this path changed (Left → Right shown)
FAQ
How does it handle array changes?
Currently by index: position 0 of Left vs position 0 of Right, and so on. A LCS-aware diff is on the roadmap. For now, if you inserted an element at the front, every later position will show as changed.
Can I export the diff?
Copy the change list manually for now. A "Copy as patch" export will land in a future update.
What's the difference between a JSON compare tool and a regular text diff?
A text diff shows every reordered key and every reformatted indent as a change. A structural JSON difference checker normalises both sides into trees first, so only real changes — added keys, removed keys, changed values — show up.
Can I diff two JSON files in my browser?
Yes. Paste each file's contents into the two panes, or load them via the upload buttons on the formatter page first. No file is uploaded to a server.