{ + } Free Developer Tool · Runs Locally

JSON Diff Viewer

Paste two JSON payloads. Get a colour-coded deep diff — added, removed, and changed keys at every level of nesting. Purpose-built for debugging API responses, comparing configs, and reviewing schema changes.

✓ 100% client-side ✓ Deep recursive diff ✓ Array-order toggle ✓ Free forever
Left (original)
Right (updated)
Invalid JSON
Added 0
Removed 0
Changed 0
Unchanged 0
Paste JSON in both panes and click Compare JSON — or load the example.

What This Tool Does

The JSON Diff Viewer performs a deep, structural diff between two JSON documents. Unlike a text diff (like git diff), it doesn't care about whitespace, key order, or line breaks. It walks the tree on both sides and reports differences by path: which keys are new, which are gone, and which have different values.

Every difference is reported with the full JSON path (user.address.city, orders[2].total) so you can jump straight to what changed without hunting through nested objects. Nested changes are surgical — if only one field inside a deep object is different, only that field is highlighted, not the whole parent.

When To Use It

How the Diff Works

The algorithm walks both trees recursively:

  1. If both sides are the same primitive value at the same path — unchanged.
  2. If the path exists only on the right — added (green).
  3. If the path exists only on the left — removed (red).
  4. If the path exists on both sides with different values — changed (amber), and the diff shows both the old and new value.
  5. Nested objects and arrays are diffed recursively, so you get the smallest possible highlight for any change.

Two toggles change the behavior:

Privacy

Everything runs in your browser. Your JSON is never sent anywhere — no API, no logging, no storage. You can verify this by opening your browser's DevTools Network tab and running a diff. Zero requests fire. This matters if you're comparing production data, PII, or anything sensitive.

Frequently Asked Questions

Is this JSON diff tool free?+
Yes. 100% free, no signup, no paywall, and no rate limit. Everything runs in your browser using JavaScript.
Is my data safe?+
Yes. Everything runs entirely in your browser. Your JSON never leaves your machine — no network requests, no storage, no logging. You can verify this by opening your browser's Network tab and running a diff.
How is this diff different from a text diff?+
A text diff (like git diff) compares JSON as raw lines. A deep JSON diff understands structure — keys that moved position but didn't change are not flagged, formatting differences are ignored, and nested keys are compared by path. Much better for comparing API responses, config files, and anything where the meaningful change is in the data, not the whitespace.
Does array order matter?+
By default, yes — arrays are compared index-by-index. Use the Ignore array order toggle to compare arrays as sets (elements that appear in both are treated as unchanged, regardless of position).
What counts as a change vs. an addition or deletion?+
A key present in both sides but with different values is a change (amber). A key present only on the right is an addition (green). A key present only on the left is a removal (red). Nested objects are diffed recursively — if only one nested field changes, only that nested field is highlighted, not the whole parent object.

More Free Developer Tools

Format JSON, decode JWTs, build regexes, and more — every tool runs locally.

Browse Dev Tools →
Copied to clipboard