Advanced JSON Diff Checker

Compare two JSON documents in depth. Ignore key order, array order or noisy fields such as timestamps, click any change to jump to it, and export a report.

Original JSON

1

Changed JSON

1

Differences

Waiting for input

About this tool

This is a structural diff: it compares the parsed data, not the text, so whitespace and key order never show up as changes. On top of that you can ignore specific fields, treat arrays as unordered sets, and download a plain-text report of every difference with its path. It is built for comparing API responses, configuration files and test fixtures.

How the comparison works

Each difference is reported with its path, such as address.city or users[1].role. Objects are compared by key, so reordering keys changes nothing. Arrays are compared position by position, unless you ignore array order.

~ 0.name: "Asha Rao" -> "Asha R."
+ 1.role: "admin"
- 1.temp: true

~ changed value    + added in the second JSON    - removed from the first

Ignore fields and array order

Real data often contains noise, such as timestamps, generated IDs or request tokens, that changes on every call. Ignoring those fields leaves only the differences that matter. Use Ignore array order when a list is a set, for example tags or permissions, where the order has no meaning.

How to use it

  1. Paste the original JSON on the left and the changed JSON on the right, or open a file into each side.
  2. Optionally tick Ignore array order, or list fields to ignore, such as updatedAt, id or user.token.
  3. Click a difference to jump to it in your JSON, and use Download to save the report.

Frequently asked questions

How do I ignore a field?

Type its name in Ignore fields, separated by commas. A bare name such as updatedAt is ignored at every depth. A dotted path such as user.id ignores only that field.

What does Ignore array order do?

Arrays are compared as unordered collections, so the same items in a different sequence count as equal. Click-to-jump is turned off in this mode because positions no longer match your text.

What do +, - and ~ mean?

+ was added in the second JSON, - was removed from the first, and ~ means the value changed.

Need something simpler? Try the basic JSON Diff Checker or the JSON Formatter on jsonchecker.in.

More advanced tools

Basic JSON tools on jsonchecker.in