100% client-side · nothing leaves your browser

JSON Compare

Paste two JSON documents to see exactly what was added, removed, or changed between them — whitespace and formatting differences are ignored automatically.

Left (original)
Right (updated)
Paste JSON into both panes to compare them

How to compare two JSON documents

  1. Paste the original JSON into the left pane, and the updated version into the right.
  2. Differences appear instantly below, each labeled added, removed, or changed with its exact path.
  3. Toggle "ignore array order" if you want two arrays with the same items in a different order treated as equal.

Why use this JSON compare tool

Structural, not textual

Both sides are parsed before comparing, so reformatting, re-indenting, or reordering object keys never shows up as a false difference.

Exact paths, not just "different"

Every difference is labeled with its precise JSONPath, so you know exactly where two documents diverge instead of scanning both by eye.

Private by design

Both documents are compared entirely in your browser — neither is ever uploaded anywhere.

Why textual diff tools aren't enough for JSON

A generic line-by-line text diff will flag a difference any time whitespace, indentation, or key order changes — even when the underlying data is identical. That's a poor match for JSON, where {"a": 1, "b": 2} and a differently indented, differently ordered version of the same object represent exactly the same data. A JSON-aware compare tool parses both documents first, so it's comparing actual values and structure rather than raw text, which is what "json diff" and "json comparison" really need to mean in practice.

Array order is the one place this gets genuinely ambiguous: sometimes order matters (a list of steps), and sometimes it doesn't (a set of tags). That's why array-order handling here is a toggle rather than a fixed behavior — turn it on when order is incidental, leave it off when it's meaningful.

Frequently asked questions

Does this JSON compare tool ignore formatting differences?

Yes. Both documents are parsed before comparison, so indentation, spacing, and key order in the raw text never cause a false difference — only the actual data structure is compared.

Can I compare JSON arrays regardless of item order?

Yes. Turn on "ignore array order" to treat two arrays with the same items in a different order as equal, rather than flagging every shifted position as a change.

What does the diff output actually show?

Each difference lists its exact JSONPath along with whether it was added, removed, or changed, plus the value on each side — so you can see precisely where two documents diverge.