Skip to content

JSON diff

Compare two JSON documents structurally: added, removed and modified values, including nested objects and arrays, with exact RFC 6901 JSON Pointer paths.

JSONdiffcompare

Upload

Files (2–2)
Two JSON documents, up to 4 MB each. The FIRST file is the baseline; the SECOND is compared against it.

Options

Questions people ask
Which file is the baseline?
The order you add them. The first file is the baseline (the "before"); the second is compared against it. The list under the drop zone shows the comparison order, first file first.
How are arrays compared?
Index-aligned: element i of one array is compared with element i of the other, and surplus elements are reported, per index, as added or removed. There is deliberately no move/similarity matching, so an insertion before the end shows as a modification of the shifted index. The report records array_mode: index-aligned so consumers never guess.
Is a missing property the same as null?
Never. {"a": null} on one side and a document without "a" on the other is reported as a removal/addition of a null value; the two states are structurally distinct.
Does property order matter?
No. Objects are compared by key set; reordering keys never produces differences. Array order DOES matter (it is data), and so does every change inside a string.
How does it treat 1 vs 1.0?
Numerically equal: recorded as a "precision note" (integer vs number-with-fraction) that does not count as a difference. Turn on strict number comparison in the options to count such pairs as modifications.
What if one document is not valid JSON?
You get a diagnostic naming the side and the exact parse position (line/column), never a half-diff of broken documents. Large inputs are capped at 4 MB per document.
What happens to my files?
Both documents are removed as soon as processing finishes; the report is available for about 10 minutes, then automatically deleted. No accounts, no tracking.