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.

Loading tool…

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.

Keyboard shortcuts

JSON Diff

CtrlEnter
Copy the report

Everywhere

CtrlK
Search tools and actions
/
Search tools (when not typing)
?
Show this list (when not typing)
Esc
Close a dialog or menu