Skip to content
ListDiff

See what changed between two API responses

Last updated: 2026-10-06

A pretty-printed staging payload and a minified production payload can look completely different as text even when almost every field matches. Paste both into JSON compare: object key order drops out, and you get a path list of real adds, removes, and value edits.

What to put in A vs B

  • JSON A — the baseline you trust (production, last release, saved fixture).
  • JSON B — the new capture (staging, a failing client, today’s export).
  • Both must be valid JSON. If parse fails, fix that side first; the report will not run.

Typical noise

  • Request ids, timestamps, and generatedAt almost always differ—filter those paths.
  • Arrays of objects without a stable id: inserting one item at index 0 looks like every later item changed. That is index matching, not a bug. See JSON compare docs.
  • If you only care whether a list of ids is missing, extract them and use list compare instead.

Example

A has age: 30 and no city. B has age: 31 and city: London, with keys in a different order. JSON compare reports a changed path for age and an added path for city—not a full-file rewrite.

Paste API responses here

JSON A
JSON B

Structural compare: object key order does not matter; array items are matched by index.

Updates as you type

Paste two JSON documents—the compare updates automatically.

Need usernames from an Instagram export instead? Use the list compare tool and upload following/followers JSON there. For ordered wording changes, use text compare.

FAQ

How do I compare staging and production API JSON?

Paste A then B above. Key order is ignored. Read the path report; filter if needed.

Why do timestamps make every compare noisy?

Those fields are supposed to change. Filter the path or strip them before you paste.

Related