JSON Diff (Compare JSON)

Compare two JSON documents and see what changed, ignoring key order and formatting. Added, removed, and changed lines are highlighted. All client-side.

Runs in your browser — nothing uploaded
Difference
3 added · 1 removed
  {+   "active": true,    "name": "Ada",    "role": "engineer",    "skills": [      "c",-     "assembly"+     "assembly",+     "rust"    ]  }

Both documents are parsed and re-serialized with sorted keys before comparing, so a difference in key order or indentation is not reported — only genuine changes to keys and values. Everything runs in your browser.

Compare two JSON documents and see exactly what changed. Because both sides are normalized — keys sorted, formatting standardized — before the comparison, reordered keys and different indentation don't show up as noise. Only real changes to keys and values are highlighted, all in your browser.

Private by design — your data never leaves your device

How to use it

No account, no upload — it all happens on your device.

1
Paste the original JSON on the left and the changed JSON on the right.
2
Invalid JSON is flagged under the box it's in.
3
Read the difference: green lines are additions, red are removals.
4
Identical data (ignoring order) is reported as equivalent.

Why normalize first

Raw text diffs lie about JSON.

Two JSON objects can be identical in meaning yet look completely different as text — keys in another order, tabs instead of spaces, trailing commas. A line-based text diff flags all of that. By parsing each side and re-printing it with sorted keys and uniform spacing, this tool compares the data, not its presentation.

Common uses

  • API responses. Spot what changed between two payloads or across versions.
  • Config files. Confirm a deploy changed only the keys you intended.
  • Fixtures and snapshots.See why a test's expected and actual JSON disagree.

Frequently asked

How is this different from a plain text diff?
Before comparing, both documents are parsed and re-serialized with their keys sorted and consistent indentation. That means a difference in key order or formatting is ignored — you only see genuine changes to keys and values, which a raw text diff would drown in noise.
What counts as a change?
An added or removed key, or a changed value, shows up as removed (from the left) and added (on the right) lines. Reordering the same keys, or reformatting whitespace, does not — those normalize away.
Is my JSON uploaded?
No. Both documents are parsed and compared entirely in your browser. Nothing is sent to a server.

Related tools

JSON Formatter & BeautifierFormat, beautify, and validate JSON instantly in your browser. Your data never leaves your device.JWT Decoder & VerifierDecode and verify JSON Web Tokens (JWT) in your browser. HS256, RS256, ES256 supported. Tokens and keys never leave your device.Base64 Encoder & DecoderEncode text to Base64 or decode Base64 back to text instantly in your browser. Unicode-safe. Nothing is uploaded.