Skip to content
T
Tools.Town
Free Online Tools for Everyone
+/-

JSON Diff

100% Free

Compare two JSON documents and see exactly what was added, removed, or changed — with a clear path to every difference and a colour-coded before/after view, all in-browser.

Deep Diff
Path-Level
Instant
100% Client-Side
1
Added
1
Removed
2
Changed
  • ageChanged
    29
    +30
  • roles[1]Changed
    "viewer"
    +"admin"
  • activeRemoved
    true
  • cityAdded
    +"Pune"

Embed This Tool

Easy to Embed

Add JSON Diff to your website or blog in seconds.

  • Responsive design
  • Lightweight & fast
  • No backend required
  • Always up-to-date
<iframe
  src="https://tools.town/embed/json-diff/"
  width="100%"
  height="600"
  style="border:none; border-radius:12px;"
  loading="lazy"
  title="JSON Diff">
</iframe>

Share This Tool

Share Instantly

Share JSON Diff with anyone — no login required.

  • Shareable link
  • No login required
  • Works on any device
  • No account needed

Share via

Advertisement

How to Use

  1. 1 Paste the original JSON on the left (before)
  2. 2 Paste the updated JSON on the right (after)
  3. 3 The diff updates instantly as you type
  4. 4 Read the added / removed / changed counts
  5. 5 Scan the list — each difference shows its path and before/after values

Features

  • Deep recursive diff over nested objects and arrays
  • Path for every change, e.g. user.roles[2]
  • Colour-coded added (green), removed (red), changed (amber)
  • Counts each kind of change at a glance
  • Detects type changes and array length differences
  • Clear, friendly errors for invalid JSON

Why it Matters

Spotting what changed between two versions of a JSON document by eye is slow and error-prone, especially when the objects are deeply nested. A structured diff with an exact path to each change makes code reviews, API debugging, and config audits far faster — you see precisely which key moved, which value flipped, and what was added or removed.

★★★★★

Use Cases

API Debugging

Compare a request or response before and after a change

Config Audits

See what changed between two config files

Code Review

Verify only the intended fields changed

Data Migration

Confirm a transform produced the right output

What this tool does

JSON Diff compares two JSON documents — an original and an updated version — and reports exactly what changed. Every difference comes with a precise path (like user.roles[2]) and a colour-coded before/after value, so you can review changes in seconds instead of squinting at two text blocks.

How it works

Both sides are parsed, then walked recursively. Objects are matched by key and arrays by index; differing values are classified as added, removed, or changed. The tool counts each kind and lists them with their paths. Invalid JSON on either side produces a clear, friendly error.

Privacy

Everything is parsed and compared locally in your browser. Nothing you paste is uploaded, logged, or stored.

Frequently Asked Questions

How does the JSON diff work?
Both documents are parsed, then compared with a deep recursive walk. Objects are matched by key and arrays by index. When two values differ, the tool records the exact path and whether the change was an addition, a removal, or a value change.
How are array changes handled?
Arrays are compared element by element using their index. If the updated array is longer, the extra elements show as added; if shorter, the missing ones show as removed; and elements that differ at the same index show as changed, each with a path like items[3].
What counts as a 'changed' value?
Any time the value at a given path differs — including a type change such as the string "1" becoming the number 1 — it is reported as a single changed entry with both the before and after values, so you always see what it was and what it became.
Does the order of object keys matter?
No. JSON objects are unordered, so reordering keys without changing their values produces no differences. Only genuine additions, removals, and value changes are reported.
Is my data stored anywhere?
No. Both documents are parsed and compared entirely in your browser. Nothing you paste is uploaded, logged, or stored — refreshing the page clears everything.

Related Tools You Might Like

Browse more free tools