Skip to content
UtilDock

JSON Comparator

See what actually changed between two documents · runs in this tab, never sent anywhere

JSON 1

JSON 2

0 B
0 B

Paste a document into each side — or press Sample to try it with a pair that differs in a few interesting ways. Both sides stay editable, and the arrows in the middle copy a block either way.

How the JSON Comparator works

A JSON comparator you can edit inside. The two documents sit side by side as live editors with the difference drawn between them — red marks what only JSON 1 has, green what only JSON 2 has, and the arrows in the seam copy a block either way, so you can reconcile the pair as you read it. Neither side is the baseline. And because the verdict is structural rather than textual, reordered keys and different indentation are never counted as changes.

Paste a document into each side. The comparison is structural rather than textual: both documents are parsed first, so reordered keys, different indentation and trailing whitespace never register as changes.

Array elements are matched by identity where one exists — an id, key, uuid or name field — so inserting an element at the start reports one addition rather than rewriting everything after it.

Long runs of identical lines fold away, leaving the changes with just enough structure around them to locate each one. Alt + ↑ and Alt + ↓ step through the differences.

Common questions

What is the difference between a JSON diff and a text diff?

A text diff compares characters, so reformatting a file or reordering its keys shows up as hundreds of changes. This tool parses both documents first and compares values, so only differences that change what the JSON means are reported.

How are arrays compared?

Elements are matched by identity where one exists — an id, key, uuid or name field. Inserting an element at the start therefore reports one addition instead of rewriting every element after it, and elements that only moved are reported as moves.

Does key order or formatting affect the result?

No. Key order, indentation and trailing whitespace are ignored. Two documents that differ only in formatting compare as identical.

Are the two documents uploaded anywhere?

No. Both are parsed and compared in a Web Worker inside this tab. Nothing is sent to a server, which matters when you are diffing two production payloads.