JSON Diff
Runs in your browser, nothing is uploaded. Your input is saved in the page link.Compare two JSON documents and list every added, removed, and changed value, with paths.
About this tool
Paste an original and a changed JSON document to see exactly what differs. The comparison is structural: key order inside objects never matters, and every difference is reported with its path, such as $.user.roles[2]. By default arrays are compared by position; turn on “Ignore array order” to treat them as unordered lists.
Questions
Does key order matter?
No. {"a":1,"b":2} and {"b":2,"a":1} are identical. Array order matters unless you turn on “Ignore array order”.
What does “Ignore array order” do?
Array items are matched by deep equality instead of by position. Items with no match are reported as removed or added. An object that changed inside an unordered array shows up as one removal plus one addition, because there is no key to pair them by.
Is my JSON uploaded?
No. Both documents are parsed and compared in your browser. Small inputs are also stored in the page URL so you can share a link, so avoid sharing links for sensitive data.
Why is 1 reported as different from "1"?
They are different JSON types, a number and a string. A change of type is reported as a single change at that path.