Free JSON Diff Viewer

Paste the original JSON on the left and the changed version on the right, then click Compare. Unlike a text diff, this parses both sides first — reordering keys or reformatting whitespace never shows as a false difference, only real data changes do.

Examples
No result yet — press Compare.

About the JSON Diff Viewer

Comparing two JSON payloads with a plain text diff produces a lot of noise: reordered keys, different indentation, or pretty-printing one side but not the other all show up as changes even when the underlying data is identical. This tool parses both sides into real JavaScript values first and walks them recursively, so it reports only genuine differences — a key that was added, a key that was removed, or a value that changed — each labeled with its exact path (e.g. customer.email or items[2].price).

This is the same algorithm explained in JSON Diff: How to Compare Two JSON Objects — if you want to build this into your own code (for snapshot testing, API regression checks, or webhook debugging) that guide walks through the recursive diff function step by step.

Common Uses

  • API regression checks — diff a "known good" response against a new deploy's response to confirm nothing unexpected changed.
  • Config drift — compare a staging config against production to find the setting responsible for a behavioral difference.
  • Webhook debugging — compare the payload your code expects against what a third-party service actually sent.
  • Test snapshots — see exactly which field broke a snapshot test instead of squinting at two giant stringified blobs.

FAQ

Is this JSON diff tool free?
Yes — completely free, with no signup required and no limit on how many comparisons you can run.
Does it care about key order?
No. This is a structural diff — it parses both sides into real values and compares keys and values regardless of order, so {"a":1,"b":2} and {"b":2,"a":1} correctly show as identical. A plain text or JSON.stringify comparison would incorrectly flag those as different.
How is this different from the Text Diff Checker?
The Text Diff Checker compares two texts line by line, so reformatting, re-indenting, or reordering keys shows up as noisy false differences. This tool parses both sides as JSON first, so only the actual data changes — added keys, removed keys, and changed values — are reported, regardless of formatting or key order. Use the Text Diff Checker for line-based text; use this for JSON specifically.
Is my JSON sent to a server?
No. Parsing and comparison both run entirely in your browser with JavaScript. Nothing you paste is uploaded, logged, or stored.
Does it handle arrays?
Yes, by comparing elements at the same index. Because it compares by position, inserting an element in the middle of an array will show every element after it as "changed" rather than recognizing a single insertion — the same limitation line-based diff tools have with moved blocks.

More developer tools from Dev Brains AI

Need to pretty-print JSON first? Use the JSON Formatter. Comparing plain text or code instead of JSON? Use the Text Diff Checker. Validating structure against a schema? Try the JSON Schema Generator.