Compare two JSON documents and get a per-path verdict tree — equal, changed, added or removed — with counts, a copyable report and a download.
Both documents are diffed locally in your browser. Nothing ever leaves your device.
Paste or load two JSON documents, then Compare (typing also refreshes after a short pause).
Both panes are parsed with JSON.parse — a failure in either side is reported per pane and stops the comparison. The walker then descends both trees in parallel: objects are matched key by key, so the literal order keys appear in the file never produces a false diff; two scalars (or mismatched types) at the same location produce a verdict, and each path is shown in a bracket-dot notation like users[2].role.
Everything runs in your tab's memory, so the practical limit is your device, not the tool. Documents up to roughly 5 MB compare smoothly on most machines; far larger files can make the recursive walk and the rendered tree sluggish. If a huge comparison stalls, trim both sides to the sections you actually need before pasting.
Paths appear in document order — object keys in the order they occur on the left side first (right-only keys after), then array indices ascending. There is no alphabetical sort toggle, because keeping the natural reading order makes it easier to line the result up against your own file. You can copy the text report and sort it externally if you prefer.
Yes — the top-level value can be an array on both sides, and it is diffed index-wise like any other array. Just remember that index-wise means positional: if you insert one element at the front of a 100-item array, every later index shifts and the tool honestly reports a long chain of changed entries rather than a single insertion.
Because JSON objects are key/value maps, not ordered records, and a semantic diff should not care about serialization order. The walk matches keys by name, so moving a field between lines in the file produces no diff line at all. Arrays, by contrast, are ordered, so their element order does matter.
No. Both documents are parsed and walked locally with vanilla JavaScript in your browser — even when you load them from disk, they are read with FileReader and never leave your device. There is no network request attached to a comparison.
If you just finished with JSON Diff, the natural next steps are CSV ↔ JSON Converter, CSV Viewer, Excel to JSON Converter, or browse every tool in Daily Tools.