Tools
EN

JSON Compare

Paste two JSON documents to find every difference. The semantic comparison ignores key order and formatting and lists each change with its JSON path; the side-by-side view highlights the changed lines.

Original JSON

Changed JSON

Private: your data is processed in your browser and never uploaded.

How to compare JSON

  1. Paste the original JSON on the left and the changed JSON on the right, or drop a file onto each side.
  2. Read the summary and the list of differences: every added, removed or changed value is shown with its path, for example $.users[2].email.
  3. Scroll down to the side-by-side view to see the changes in context. Tick Ignore array order if the order of list items does not matter.

A semantic JSON diff instead of a text diff

A plain text diff reports a change whenever a key moves, the indentation differs or a number is written differently. This JSON diff compares the data itself:

Reading the results

LabelMeaningThe path points to
AddedThe value exists only in the changed JSONits position in the changed JSON
RemovedThe value exists only in the original JSONits position in the original JSON
ChangedBoth documents have the key, with a different value or typeits position in the changed JSON

In the side-by-side view both documents are formatted with sorted keys so that matching lines face each other; long unchanged stretches are folded unless you untick Hide unchanged lines.

Frequently asked questions

Does the order of keys matter?

No. JSON objects are unordered by definition, so the comparison ignores key order. Arrays are ordered, unless you tick Ignore array order.

Can I compare large JSON files?

Yes. The comparison runs in your browser and lists the first 200 differences, with a button to show them all; the side-by-side view shows up to 5,000 lines.

How do I compare JSON in code?

In Python, json.loads(a) == json.loads(b) tests equality. JavaScript has no built-in deep comparison; libraries such as Lodash offer _.isEqual(a, b). On the command line, diff <(jq -S . a.json) <(jq -S . b.json) shows the differing lines.

Is my data uploaded?

No. Both documents are compared locally in your browser and never leave your device.