JSON Diff Checker
Compare two JSON documents
What Is This Tool?
The JSON Diff Checker compares two JSON documents and reports exactly what changed: keys and array elements that were added, removed, or changed in value, each shown with its full path. This makes it easy to spot what actually differs between two API responses, config files, or test fixtures without manually scanning both. Everything runs locally in your browser.
How to Use
Paste the original JSON into the first box.
Paste the modified JSON into the second box.
Click Compare to see every added, removed, and changed value.
Features
- Deep recursive comparison of nested objects and arrays
- Dot/bracket path notation for every difference (e.g.
user.roles[1]) - Clear added / removed / changed summary counts
- Color-coded added and removed lines
- 100% client-side — nothing leaves your browser
Examples
Original:
{ "name": "Ada", "age": 36, "roles": ["admin", "editor"] }
Modified:
{ "name": "Ada", "age": 37, "roles": ["admin"] }
Diff result:
- age: 36 + age: 37 - roles[1]: "editor"
Common Use Cases
- Comparing API responses between two environments or versions
- Reviewing configuration changes before deploying
- Spotting unintended changes in a test fixture
- Auditing a data migration for unexpected differences
Frequently Asked Questions
What counts as a "changed" value versus added/removed?
A key or index present in both documents with a different value (or different type) is "changed." A key or index that exists only in the modified document is "added," and one that exists only in the original is "removed."
Does array order matter?
Yes, arrays are compared element by element by index, not by matching similar objects. Reordering an array's elements will show up as changes at each affected index.
What does the path notation mean?
Paths use dot notation for object keys and bracket notation for array indices, for example user.address.city or items[2].price, describing exactly where in the structure the difference occurred.
What if one of my documents has invalid JSON?
The tool tells you specifically which side — Original or Modified — failed to parse, along with the underlying error message, so you can fix it before comparing.
Is my data uploaded anywhere?
No. The comparison happens entirely in your browser using JavaScript. Nothing is sent to a server.
Can I copy the diff result?
Yes, click Copy to copy the full list of differences as plain text to your clipboard.