JSON Diff Checker - Compare JSON Online

Compare two JSON objects online. Find added, removed, and changed values instantly in your browser.

Ready to compare.

Comparison Results

Click "Compare JSON" to see differences.

How to compare JSON

  1. Paste your original JSON into the left editor.
  2. Paste the updated JSON into the right editor.
  3. Click Compare JSON to see added, removed, and changed values.

Privacy: Comparison runs locally in your browser. Your JSON is not uploaded by this tool. Avoid entering sensitive data on any website unless you trust it.

What does this tool compare?

It compares JSON objects and arrays recursively. Object key order does not matter. Array order does matter, and array differences are reported by index. Formatting and whitespace are ignored.

Common use cases

JSON Diff Checker can help developers review API responses, inspect configuration changes, compare test fixtures, and check whether data changed after an application update. Paste the earlier version on the left and the newer version on the right, then run the comparison.

Frequently asked questions

Is JSON Diff Checker free?

Yes. You can use this page to compare JSON without creating an account.

Is my JSON uploaded to a server?

The comparison is performed in your browser by this page's JavaScript. The comparison code does not send the JSON inputs to a server. Avoid entering secrets or sensitive information into websites unless permitted by your organization's security policies.

Why is my JSON invalid?

JSON requires double quotes around property names and string values, and does not allow trailing commas or comments. Check the error message and validate both inputs before comparing them.

How are arrays compared?

Array entries are compared by index. Moving an entry to a different position can therefore produce differences even if the same values appear in both arrays.

Read JSON differences with confidence

Paste the earlier JSON on the left and the newer JSON on the right, then select Compare JSON. Each result includes a change type, a path, and the before/after value where applicable. Paths start at $; a dot segment names an object property, while brackets identify an array index. For example, $.user.name points to the name property inside user.

How comparison works

Example: distinguish an edit from a reorder

If an array changes from ["draft","published"] to ["draft","review","published"], the new value occupies index 1 and the old value at index 1 moves to index 2. The checker reports the changes at those positions. If you are comparing records whose order may change, compare them in a stable order first or use a unique identifier to match records in the system that owns the data.

When an input is invalid

JSON requires double quotes around property names and string values. It does not allow comments or trailing commas. Fix the syntax error reported for the relevant editor and compare again. The comparison runs in this page's JavaScript; the input values are not sent to a comparison server. Avoid entering secrets or data you are not permitted to process in a browser.