Skip to main content
Convert2JSON Tools

JSON Compare

Find the real differences between two JSON documents without the noise a line-based diff produces.

Your data stays on your device

Object key order is always ignored — JSON does not define it.

Original JSON

characters
0
lines
0
size
0 B

Modified JSON

characters
0
lines
0
size
0 B

About this tool

A text diff on JSON is misleading. Reordering keys, changing indentation or reformatting a file produces hundreds of changed lines while the data stays identical. What you usually want to know is which paths gained a value, lost one, or changed.

This tool parses both sides and walks them together, reporting differences as paths. Key order is ignored by default because JSON objects are unordered. Array order is significant by default, since element position usually carries meaning — but you can turn that off when comparing sets.

How to use this tool

  1. Paste the original document on the left and the modified document on the right.
  2. Choose whether array element order should be treated as significant.
  3. Press Compare to get a summary count plus the full list of differences.
  4. Read each entry as a path with its old and new value.

Key features

  • Structural comparison by path rather than by text line
  • Separate counts for added, removed and changed values
  • Object key order ignored, so reformatting never shows as a difference
  • Optional order-insensitive array comparison
  • Type changes reported explicitly, for example number to string
  • Identical documents confirmed with an explicit "no differences" result

Example

A field changed and another was added

InputJSON

left:  {"name":"api","port":80}
right: {"name":"api","port":443,"tls":true}

OutputDiff

~ changed  $.port   80 → 443
+ added    $.tls   true

1 changed, 1 added, 0 removed

Good to know

  • Order-insensitive array comparison matches elements by value. Arrays of large objects with small edits may report a removal plus an addition rather than a single change.
  • Both documents must be valid JSON; parse errors are reported per side before comparison begins.
  • The diff is a list of paths, not a rendered side-by-side patch.

Frequently asked questions

Why is key order ignored?

Because the JSON specification does not define object key order as meaningful. Two objects with the same keys and values are equal regardless of how they were written.

When should I ignore array order?

When the array represents a set — a list of tags, roles or permissions where position carries no meaning. Keep order significant for sequences such as ordered steps or paginated results.

How are null and missing distinguished?

They are different. A key present with the value null is a change; a key that does not exist at all is a removal. The report labels each case separately.

Can I compare more than two documents?

Not in one pass. Compare them pairwise against a common baseline.

Your data stays on your device

Your data is processed locally in your browser and is not uploaded to our server. This page keeps working after you go offline, because there is nothing to send.

Share this toolXLinkedInHacker News