Boneyard Tools

JSON Diff Tool

Paste two JSON documents to see the differences. The diff lists every added, removed and changed value by path, ignores key order, and works on deeply nested objects and arrays.

How to compare two JSON documents

  1. Paste your original JSON into the A box.
  2. Paste the updated JSON into the B box.
  3. Read the color-coded changes: green added, red removed, amber changed.

Examples

A field changed and one was added

A: {"name":"Ada","age":30}
B: {"name":"Ada","age":31,"city":"London"}
~ age: 30 -> 31
+ city: "London"

Nested value changed

A: {"user":{"name":"x"}}
B: {"user":{"name":"y"}}
~ user.name: "x" -> "y"

Frequently asked questions

What does a JSON diff show?

It shows every value that differs between the two documents: keys only in B are added, keys only in A are removed, and keys in both with a different value are changed. Each change lists its path and the old and new values.

How does it handle nested objects and arrays?

It compares recursively. Object keys are shown with dot notation like user.address.city and array elements use bracket notation like items[0]. Arrays are compared by index, so an element added or removed at the end shows up as added or removed.

Does key order matter?

No. Objects are compared by key, so {"a":1,"b":2} and {"b":2,"a":1} are treated as identical. Only the values matter, not the order they appear in.

What is this useful for?

Common uses include comparing two API responses, spotting unintended config changes, reviewing fixtures or snapshots, and confirming what a transformation actually changed in a payload.

Is my JSON sent to a server?

No. Both documents are parsed and compared entirely in your browser, so nothing leaves your machine.

What happens if one side is invalid JSON?

You get a clear error naming the side that failed to parse, either A or B, so you can fix the syntax before comparing.

Related tools