Developer On-device · No upload

JSON Diff Checker

Compare two JSON documents and see exactly what was added, removed, or changed — path by path, entirely in your browser.

JSON Diff Checker compares two JSON documents structurally and reports every added key or array item, removed key or array item, and changed value with its exact JSONPath-style location, such as $.user.address.city. An optional mode compares array items as a set instead of by position. Runs entirely in your browser, with no upload. Made by FreeToolHub.

JSON Diff Checker Tool

Comparison Options

Diff result

Paste two JSON documents and click Compare to see what changed.

Paths use JSONPath-style notation: $ is the root, .key walks into an object, and [index] walks into an array item.

Comparison runs locally in your browser. Nothing is uploaded.

Frequently Asked Questions

What does this JSON Diff Checker compare?

It parses both JSON documents and compares their structure — object keys, array items, and values — rather than comparing them as plain text. That means reordering an object's keys never shows as a difference, and it can point to exactly which value changed inside deeply nested data, like $.user.address.city.

What do the Added, Removed, and Changed counts mean?

Added counts keys or array items that exist only in the changed JSON. Removed counts keys or array items that exist only in the original. Changed counts values present in both documents that have a different value or type, such as a number changed to a string, or one value updated to another.

What does a path like $.items[2].name mean?

Paths use JSONPath-style notation. $ is the root document, .name walks into an object key, and [2] walks into the third item of an array, since arrays are zero-indexed. So $.items[2].name means the name field of the third item in the items array.

What does "Ignore array order" do?

By default, arrays are compared position by position — the first item in the original is compared to the first item in the changed document, and so on. Turning on "Ignore array order" instead compares the items as a set, so two arrays with the same items in a different order show no differences, and only items truly added or removed are reported.

Can I compare very large JSON files?

Yes, though very large or deeply nested documents may take a moment to compare, and only the first several hundred differences are displayed to keep the page responsive. Everything still runs locally in your browser — nothing is uploaded to a server.

Is my JSON data uploaded anywhere?

No. Parsing and comparison happen entirely in your browser using JavaScript. Nothing you paste is sent to a server, stored, or tracked.