JSON Diff Checker

Compare two JSON documents and instantly see every added, removed, and changed field.

Original JSON
Modified JSON
Diff Summary
No comparison yet.
Detailed Differences (JSON)

How to Use

  1. 1 Paste your original JSON into the left panel.
  2. 2 Paste your modified JSON into the right panel.
  3. 3 Click Compare JSON to run the diff.
  4. 4 Review the Diff Summary showing counts of added, removed, changed, and type-changed fields.
  5. 5 Inspect the Detailed Differences output for the full path-level change report.
  6. 6 Enable Ignore Array Order to compare arrays regardless of element order — useful for comparing API responses where order may vary.

Frequently Asked Questions

Is my JSON data sent to a server?

No. All comparison happens entirely in your browser using JavaScript. Your JSON data never leaves your device and is never stored or logged anywhere.

What types of differences are detected?

The diff checker detects four types of changes: added (key exists in modified but not original), removed (key exists in original but not modified), changed (key exists in both but value differs), and type_changed (key exists in both but the type changed, e.g. string to number).

Does it support nested JSON objects and arrays?

Yes. The comparison is fully recursive. Nested objects and arrays are compared at every level, and differences are reported with their full JSON path (e.g. $.users[0].email).

What does "Ignore Array Order" do?

When enabled, arrays are sorted before comparison so that [1,2,3] and [3,1,2] are considered equal. This is useful when comparing API responses where the order of items may vary but the content is the same.

How are differences reported in the output?

Each difference is reported as a JSON object with: type (added/removed/changed/type_changed), path (the JSON path to the changed field), and the left/right values. The output is a JSON array of all differences.

Can I compare JSON arrays at the root level?

Yes. Both root objects and root arrays are supported. Array elements are compared by index position.

What does the diff summary show?

The summary shows the total count of each type of change: how many fields were added, removed, changed, or had their type changed. This gives a quick overview before inspecting the details.

Can I use this to compare API responses?

Yes. This is a common use case — paste two API responses to see exactly what changed between versions, environments, or deployments. The path-level output makes it easy to pinpoint specific field changes.