gizmobench

JSON Diff

Compare two JSON documents structurally. Key order and formatting are ignored, so you see the differences that actually matter, not the ones your formatter introduced. Both documents stay in your browser.

Paste two documents, or

Key order ignoredNo size limitNothing uploadedWorks offline

Common questions

Does key order affect the comparison?
No. The comparison is structural, so reordered keys and reformatted whitespace are never reported as differences. Two documents that differ only in layout come back identical.
Is my JSON sent to a server?
No. Both documents are parsed and compared by your own browser. Nothing is transmitted, which matters when the file is a production configuration or contains credentials.
How does it handle arrays?
Arrays are compared by position, so the item at index 0 is compared against index 0. Reordering an array is reported as a change, because in JSON the order of an array is meaningful.
What happens with nested objects?
The comparison walks the full tree and reports each difference by its dotted path, so you see exactly which nested field changed rather than that some parent object differs.
Is there a size limit?
None imposed. Because the work happens on your machine there is no upload, so the practical limit is your device's memory.
How are numbers compared, and what can it miss?
By value, after parsing, and the honest limits are worth knowing. 1.0 and 1 are the same number once parsed, so they are reported identical, and "1" as a string is not 1 as a number, so that is reported as a change. The one thing to watch is an integer beyond 2^53: JavaScript rounds it while reading the file, so two IDs that differ only in their last digits can arrive as the same value and no difference is shown. If your data carries IDs that long, compare them as strings.

Exact. Every difference is computed structurally, not by comparing text.