DevConvert
Free Online Tool

JSON Diff — Compare Two JSON Documents

Paste two JSON documents and instantly see every addition, removal, and value change. Runs entirely in your browser — your data never leaves your machine.

100% private — no server, no upload
Original (A)
Modified (B)

🔒 Comparison runs entirely in your browser. No data is sent to any server.

How It Works

  1. 1Paste your original JSON into the left panel (A) and the modified version into the right panel (B).
  2. 2Click Compare. Both documents are parsed in your browser — nothing leaves your machine.
  3. 3The diff engine recursively walks both documents and collects every addition, removal, and value change.
  4. 4Results are displayed with full dot-notation paths so you can immediately locate the change in your code.

Examples

Value change + new key + removed key

Original (A)

{
  "name": "Alice",
  "age": 30,
  "role": "admin",
  "tags": ["developer", "lead"]
}

Modified (B)

{
  "name": "Alice",
  "age": 31,
  "email": "[email protected]",
  "tags": ["developer", "manager"]
}

Detected changes

  • ~ age: 30 → 31
  • ~ role removed
  • ~ email added
  • ~ tags[1]: "lead" → "manager"
Nested object change

Original (A)

{
  "user": {
    "id": 42,
    "address": { "city": "London", "zip": "EC1A" }
  }
}

Modified (B)

{
  "user": {
    "id": 42,
    "address": { "city": "Manchester", "zip": "M1 1AE" }
  }
}

Detected changes

  • ~ user.address.city: "London" → "Manchester"
  • ~ user.address.zip: "EC1A" → "M1 1AE"

Frequently Asked Questions

Is my JSON data sent to your servers?

No. The entire comparison runs in your browser using JavaScript. Nothing is transmitted to any server. It is safe to paste production data.

What types of differences does the tool detect?

The tool detects added keys/elements, removed keys/elements, changed values, and type changes (e.g. a value that changed from a string to a number). Differences in nested objects and arrays are shown with their full dot-notation path.

Can I compare large JSON files?

Yes. Since the diff runs in-browser there is no upload limit. Performance is bounded by your device's JavaScript engine. Files up to several megabytes work without issue.

Does the order of keys matter?

No. JSON objects are unordered by spec, and the diff engine treats two objects with the same keys in different orders as identical. Array order does matter — [1, 2] and [2, 1] are different.

How do I read the diff output?

Each entry shows a path (e.g. user.address.city), a type (Added, Removed, Changed), and the before/after values. Paths use dot notation for object keys and bracket notation for array indices.

Related Tools