COMPARE / JSON

JSON Compare

Find field-level changes without the noise of reordered object keys. See exactly which paths changed.

How to use ↘
● Runs on your device

Object key order is ignored. Array order is compared by index.

UTF-8 · up to 1 MiB
UTF-8 · up to 1 MiB
Ctrl / ⌘ + Enter

Example loaded. Processing stays in this browser.

Review the output before using it.

View the export text
READ-ONLY
Run the tool to see the resultReview before using
THREE SIMPLE STEPS

How to use JSON Compare

  1. Paste or open the original JSON and revised JSON in separate panes.
  2. Select Compare JSON. Formatting and object key order are ignored automatically.
  3. Filter added, removed or changed values. Read their paths and export the complete difference report.
A REPRODUCIBLE CASE

Review an order-status update

3 differences: status changed, note removed and tracking added. Moving object keys adds no changes.

Load this exact example ↗

What changes—and what stays

Object keys are compared by name, while arrays are compared by index. Missing fields differ from null. Report paths use JSON Pointer escaping; an empty path denotes the document root. The exported report is not JSON Patch.

Practical limits

Up to 1 MiB per input, 80 nested levels and 50,000 structured values. CSV supports 10,000 data rows and 200 columns. JSON comparison returns at most 5,000 differences. UTF-8 files only; large jobs stop after six seconds.

Common questions

Can I ignore array order?

No. Sequence changes can be meaningful. Normalize a specific array under a known application rule before comparing it.

Why is a moved object key not highlighted?

JSON object member order does not define identity in this comparison. Values and types matter; formatting and key position do not.

What does /a~1b mean?

JSON Pointer escapes a slash inside a key as ~1 and a tilde as ~0. The path /a~1b refers to the key a/b.