Compare two JSON documents
A line-by-line text diff of two JSON files is noisy: reformatting or reordering keys lights up the whole file even when nothing really changed. This tool does a structural comparison instead — it parses both documents and compares the data, so you see only the values that actually differ, each labelled by its path.
How it works
The tool parses the left (original) and right (changed) documents, then walks the two trees in parallel:
- Objects are matched by key, regardless of order.
- Arrays are matched by index (position).
- Every leaf is classified as added (only on the right), removed (only on the left) or changed (present on both with different values).
Each difference is reported with its dotted path, such as limits.upload or
tags[1]. Added values are shown in green with a plus, removed values in red
with a minus.
Example
Comparing these two documents:
{ "name": "api", "limits": { "upload": 5 }, "tags": ["a", "b"] }
{ "name": "api", "limits": { "upload": 20 }, "tags": ["a", "c"] }
reports two changes and nothing else:
~ limits.upload: 5 → 20
~ tags[1]: "b" → "c"
name is identical, so it is not listed. Everything runs in your browser, so
nothing is uploaded.