Compare

JSON diff

Paste two payloads and get a precise, path-by-path list of what changed. Key order is ignored, so reordered objects are correctly reported as identical.

Original (A)
Waiting for input.
Changed (B)
Differences

⌘/Ctrl + Enter runs it again. Everything happens in this browser — nothing is uploaded.

About the JSON diff tool

A text diff on two payloads is nearly useless: reformat one of them and every line changes. This compares them structurally, so key order is irrelevant and only real differences are reported, each with the path that reached it. The same comparison can be exported as an RFC 6902 JSON Patch to send to a PATCH endpoint, or an RFC 7386 Merge Patch.

How to use it

  1. Paste the original into the first pane and the changed version into the second.
  2. Choose whether arrays are compared by index or treated as unordered sets.
  3. Read the change list, or switch the output to JSON Patch or Merge Patch and copy it.

Questions

Does key order count as a difference?

No. Two objects with the same keys and values are identical regardless of the order they were written in, which is what the JSON specification says and what a text diff gets wrong.

What is the difference between JSON Patch and Merge Patch?

JSON Patch (RFC 6902) is a list of add/remove/replace operations with pointers — precise, and able to target array elements. Merge Patch (RFC 7386) is a partial document where null means "delete this key" — simpler, but it replaces arrays wholesale.

Can I compare two API responses?

Yes, and it is the common case: paste yesterday's response and today's to see exactly what a deployment changed.