Browser processing Input is processed on your device. Privacy & storage

JSON Diff Checker

Compare JSON side by side, explore changes and merge edits. Your inputs stay unchanged until you choose an editing action.

Sort documents

Reorders both selected documents. Undo restores the previous content.

Object keys: Array items:
Left — original

* Unsaved changes · Save writes to the opened file, or downloads a copy.

JSON 1
Right — modified

* Unsaved changes · Save writes to the opened file, or downloads a copy.

JSON 1
Differences by path
Run Compare to see differences here.

How the comparison works

The two documents are parsed and compared structurally, not as text — so indentation, key order and whitespace never produce false differences. Every difference is reported with its full path ($["user"]["tags"][1]) and classified as added, removed or changed, with the old and new values shown side by side.

Both sides are multi-document workspaces: click +JSON to add a document, the × on a tab to close it, or Open to load several .json files at once (each file becomes its own tab, named after the file). Compare always uses the tab selected on the left against the tab selected on the right, and re-runs when you switch tabs — so you can keep five API responses open and measure each one against the same baseline without pasting anything again.

With Ignore array order enabled, array items that match exactly are treated as unchanged even when their position moved (duplicate counts are preserved) — ideal for comparing API responses where item order is not guaranteed. Unmatched items are still reported as added or removed.

FAQ

Does key order matter?

No. JSON objects are unordered by specification, so {"a":1,"b":2} and {"b":2,"a":1} are identical here.

What about number formats like 1 vs 1.0?

Both parse to the same JavaScript number, so 1 and 1.0 are treated as equal. Strings and numbers stay distinct — "1" vs 1 is reported as changed.

Can I compare more than two documents?

Two at a time — but each side keeps up to five documents open in tabs, and switching tabs re-runs the comparison instantly. So a set of API responses can be checked against one baseline by clicking through the tabs.

Is my data uploaded?

No. Both documents are parsed and compared entirely in your browser — nothing is sent to any server.