Skip to content

JSON Diff

Structural compare of two JSON objects — not a noisy text diff.

Runs 100% in your browser. No upload.

Compare JSON the way APIs think

Line-based diffs are great for source code. They are awkward for JSON: serializers may reorder keys, pretty-printers change wrapping, and two equivalent objects look “completely different” in a text viewer. A structural JSON diff parses both sides and reports added, removed, and changed paths — so you see product-relevant drift, not formatter noise.

Paste a baseline response on the left and a candidate on the right, then hit Compare. Green marks additions, red marks deletions, and modified leaves show both values. Everything stays on your machine: useful when the payloads include customer data you should not ship to a third-party diff host.

Typical uses

Need to clean up a single payload first? Use theJSON Formatter.

Frequently asked questions

How is structural JSON diff different from a text diff?

Text diffs treat key order and whitespace as changes. Structural diffs compare the parsed values, so reordering object keys does not create false positives.

Does my JSON get uploaded?

No. Diff runs with jsondiffpatch entirely in your browser. Closing the tab clears the textareas.

What do green and red highlights mean?

Added values are highlighted green; removed values red; modified values show both old and new. Unchanged branches can be collapsed by the formatter styles.

Can I diff arrays of objects?

Yes. When objects have an id or _id field, matching prefers that identity so moves are clearer than naive index comparison.

What if one side is invalid JSON?

The tool stops and shows which side failed to parse. Fix syntax first, then compare again.

Is this free for commercial use?

Yes. The site tools are free to use. No account required.