JSON diff
Compare two JSON documents structurally: added, removed and modified values, including nested objects and arrays, with exact RFC 6901 JSON Pointer paths.
Working…
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.