🔀

JSON Diff

Compare two JSON objects and highlight the differences.

Input
JSON B
Differences

📖 What is JSON Diff?

JSON Diff compares two JSON structures and highlights exactly what changed — added keys, removed keys, modified values and type changes. Paste JSON A on the left and JSON B on the right to see a clear, color-coded diff. Use it to compare API responses between versions, verify config changes, or debug data transformation pipelines. All processing happens in your browser.

💡 Example

Input
{"name":"Alice","age":30,"city":"NYC"}
Output
{"name":"Alice","age":31,"city":"London"} — age: 30→31, city: NYC→London

🛠️ Common Use Cases

  • Comparing API responses between staging and production
  • Verifying config file changes before deploying
  • Debugging data transformation pipeline output
  • Checking what changed in a database record between snapshots
  • Reviewing JSON schema changes across API versions

📝 What Gets Compared

  • Added keys — keys present in JSON B but not in A
  • Removed keys — keys present in A but not in B
  • Changed values — same key, different value or type
  • Nested objects — recursively compared at every level
  • Array elements — compared by index position

⚠️ Common Mistakes

  • Key ordering — JSON objects are unordered; {"a":1,"b":2} equals {"b":2,"a":1}. This tool compares values, not key order.
  • Floating point precision — 0.1+0.2 may appear as 0.30000000000000004 in one response. Normalize before comparing.
  • Comparing arrays of objects — arrays are compared by index, not by a unique ID field. Reordered arrays show as completely different.

❓ Frequently Asked Questions

Does key order matter?
No — JSON objects are unordered by specification. This tool compares by key name and value, regardless of order.
Can it compare nested JSON?
Yes — the comparison is recursive. Nested objects and arrays are compared at every depth level.
What about large JSON files?
Files up to a few MB work fine in the browser. For very large files (10MB+), the comparison may be slow.
Is my data private?
Yes — all processing runs entirely in your browser. Your data is never sent to any server.
Is this tool free?
Completely free — no login, no usage limits, works offline once loaded.
Yes — completely free, no login required, no usage limits.
Is my data private?
Yes — all processing runs in your browser. Your data is never sent to any server.
Does it work offline?
Yes — once the page is loaded, the tool works without an internet connection.
🔒
Your data stays private. All processing happens entirely in your browser using JavaScript. Nothing is ever sent to our servers. You can even use this tool offline after the page loads.