JSON Diff

Compare two JSON documents by structure, not text

How to compare two JSON documents

  1. Paste the original JSON on the left and the changed JSON on the right.
  2. The comparison runs automatically. Each difference is listed with its exact path, such as $.config.port or $.items[2].price, and the values before and after.
  3. Tick Ignore array order when arrays are sets, such as tags or permissions, so a reordered list is not reported as changed.
  4. Copy a plain-text report for a ticket, pull request or chat.

Why a structural diff?

A normal text diff compares lines, so reformatting, different indentation or reordered keys make two identical JSON documents look completely different. This tool parses both documents and compares the data itself: key order and whitespace are ignored, numbers are compared as numbers, and only real changes are listed. Changes are marked with +, − and ~ symbols as well as colour.

It is useful for comparing API responses between environments or versions, checking what changed in a configuration file, reviewing snapshot test failures, comparing package.json or tsconfig.json across projects, and spotting differences between a mock and the real service.

Privacy

Both documents are parsed and compared in your browser. Nothing is uploaded, so you can safely compare responses that include tokens or personal data.

Does key order matter?

No. JSON objects are unordered, so {"a":1,"b":2} and {"b":2,"a":1} are reported as equivalent.

How are arrays compared?

By default item by item, by index. With "Ignore array order", items are matched by value wherever they appear.

Is 1 the same as 1.0?

Yes. Both parse to the same number in JSON, so they are not reported as a difference. "1" in quotes is a string and is different.

Made by BufferMint. We also design and build software products for founders. See our services →

Your files and inputs never leave your device; we only count anonymous visits.