Developer · Free Tool

JSON Diff Checker

Compare two JSON documents structurally and see exactly which keys were added, removed, or changed.

About this tool

Paste an original and a changed JSON document and this tool performs a structural comparison — walking both objects and arrays key by key and index by index — rather than a line-by-line text diff. The result lists every added key, removed key, and changed value by its full JSON path, so you see precisely what moved inside nested objects and arrays, not just that "a line changed."

This catches things line diffs miss and text diffs get noisy about, such as a value moving between keys that got reordered, or a type change like a string becoming a number. Added, removed, and changed entries are color-coded for quick scanning, and if both documents are equivalent it tells you clearly rather than showing an empty, ambiguous result.

Common uses

  • Compare two versions of an API response to confirm only the intended fields changed
  • Check a config file or feature-flag JSON before and after a deploy
  • Verify a data migration or transformation script did not drop or corrupt fields

Frequently asked questions

How are arrays compared?

Arrays are compared element by element using their index position, so inserting an item in the middle of an array will show as changes to every following index rather than a single "insert" — this mirrors how JSON paths address array elements.

What happens if a value changes type, like a string to a number?

A type change is reported as a "changed" entry (~) showing the old and new value, even if the underlying key name stayed the same.

What if one of my JSON inputs has a syntax error?

The tool tells you specifically which side — Original or Changed — failed to parse, along with the underlying JSON syntax error message, so you can fix it before comparing.

Is my data uploaded to a server?

No. This tool runs entirely in your browser using JavaScript — nothing you type is transmitted, logged, or stored anywhere. You can even use it offline once the page has loaded.