JSON Diff & Compare

Compare two JSON files side by side with added, removed and changed highlighting plus a structured diff summary. Works with large objects.

Compare two JSON files side by side

The JSON diff tool performs a deep structural comparison between two JSON documents and shows you exactly what changed — added keys, removed keys and modified values — with a clear path-by-path summary. Paste both documents and see the result in under a second, entirely in your browser with no data sent to a server.

Common use cases include comparing API responses before and after a backend change, auditing configuration file differences between environments, reviewing snapshot test output, and debugging data transformation pipelines. The diff is order-independent for objects, so reordering keys does not generate false positives. Arrays are compared positionally by index.

The output groups changes into three categories: added (present in the right document only), removed (present in the left document only) and changed (present in both with a different value). Each entry shows the full JSON path (e.g. /users/0/email) so you can locate the change instantly.

Frequently asked questions

How does the JSON diff work?+

Paste two JSON documents and compare them. The tool highlights added, removed and changed values with a structured, path-by-path summary.

Can it compare large JSON objects?+

Yes. The diff is computed efficiently in your browser and handles deeply nested objects and arrays.

How does the JSON comparison work?+

The tool performs a deep structural diff by recursively walking both documents. It compares every key and value at every nesting level. Objects are compared key-by-key (order-independent), and primitive values are compared by strict equality. The result is a path-by-path list of changes.

What does added/removed/changed mean?+

Added means a key or array element exists in the right document but not the left. Removed is the reverse. Changed means the key exists in both documents but the value is different. The diff summary lists the full JSON path (e.g. /users/0/email) for every change.

Can it compare arrays?+

Yes. Arrays are compared element-by-element by index. If an element is added, removed or changed at a specific index that is reported. Note that reordering array elements without changing values will appear as a series of changes, since array comparison is positional.

Is there a size limit?+

There is no enforced size limit — the diff runs in your browser. Very large documents with thousands of keys may take a second or two to process, but the result is the same regardless of size.

JSON Diff & Compare — Free Online Tool | JSON Toolkit