JSON Diff
Compare two JSON documents structurally, ignoring key order.
About this tool
Compare two JSON documents structurally, ignoring key order. Useful when reviewing API responses, cleaning config before commit, or sharing readable snippets in docs and PRs.
Paste the original document into Left (original). Paste the updated document into Right (modified). Example — Compare two config snapshots (key order ignored): try `Left: {"name":"codefunc","tools":81,"private":true} Right: {"private":true,"name":"codefunc","tools":86}` and expect something like `{ "name": "codefunc", "private": true, - "tools": 81 + "tools": 86 }`. Reordered keys alone do not show as changes.
Both sides must be valid JSON; comments or trailing commas must be cleaned first. See also: Text Diff, Patch Viewer, and JSON Formatter. Runs in your browser — nothing you paste gets uploaded.
How to use
- Paste the original document into Left (original).
- Paste the updated document into Right (modified).
- Click Compare — key order is normalized before diffing.
- Copy the Diff pane, or rely on the “No differences” message when structures match.
Example
Compare two config snapshots (key order ignored)
Input
Left: {"name":"codefunc","tools":81,"private":true}
Right: {"private":true,"name":"codefunc","tools":86}Output
{
"name": "codefunc",
"private": true,
- "tools": 81
+ "tools": 86
}Reordered keys alone do not show as changes.
Limitations
- Both sides must be valid JSON; comments or trailing commas must be cleaned first.
- Array order matters — reordering items counts as a change even if membership is the same.
- Deep semantic equality (e.g. 1 vs 1.0 in some systems) follows JSON literal comparison after normalize.
Related guides
1Related tools
4Frequently asked questions
What does the JSON Diff do?
Compare two JSON documents structurally, ignoring key order. Runs in your browser — no install, no account.
How do I use the JSON Diff?
Paste the original document into Left (original). Paste the updated document into Right (modified). Click Compare — key order is normalized before diffing. Copy the Diff pane, or rely on the “No differences” message when structures match.
Is the JSON Diff free?
Yes. No signup, no usage limits, no paywall.
Does the JSON Diff upload my data?
No. Processing happens locally in JavaScript. Your input is not uploaded, stored, or logged.
What are the limitations of the JSON Diff?
Both sides must be valid JSON; comments or trailing commas must be cleaned first. Array order matters — reordering items counts as a change even if membership is the same. Deep semantic equality (e.g. 1 vs 1.0 in some systems) follows JSON literal comparison after normalize.