Developer tool

JSON diff

Compare two JSON documents by structure, not by text.

JSON diff Runs on your device
  • Runs in your browser — your text is never sent anywhere
  • No sign-up, no quotas, free to use as often as you like

How it works

Comparing two JSON payloads with an ordinary text diff produces noise: reordered keys, different indentation and trailing commas all show as changes when nothing has actually changed. Comparing the parsed structure instead shows only what genuinely differs.

It compares meaning, not characters

Both documents are parsed and compared value by value. Key order and whitespace are irrelevant, because objects have no inherent order. Two documents that describe the same thing are reported as identical however differently they are written.

Reading the output

A line beginning + exists only in the second document, − only in the first, and ~ has a different value in each, with both shown. The path tells you where: dots for object keys and square brackets for array positions, so response.items[2].price points exactly at the field.

Arrays are compared by position

Item three is compared with item three. This is the right behaviour for ordered data and the wrong one for an unordered set — a reordered list of the same items will show as many changes. Sort both sides first if order is not meaningful in your data.

Why this runs locally

API payloads routinely carry tokens, customer records and internal identifiers. Pasting two of them into a remote comparison service hands all of it over. Here both documents are parsed and compared in the page.

FAQ

JSON diff — questions

Does key order matter?

No. Objects have no inherent order, so reordered keys are not reported as differences.

How are arrays compared?

By position. A reordered list shows as many changes, so sort both sides first if order is not meaningful.

What do the symbols mean?

+ is only in the second document, − only in the first, and ~ differs between them.

Is my data uploaded?

No. Both documents are parsed and compared in your browser.