Json Diff

Free online tool. All processing is client-side. No signup needed.

How to Use the Json Diff

  1. Enter your input values above
  2. Results update automatically
  3. Copy or download the output

What is a Json Diff?

A JSON Diff tool compares two JSON objects and highlights every structural difference — added keys, removed keys, changed values, and type changes — in a clear, side-by-side format. This is essential for debugging API version upgrades (what changed between v1 and v2 responses?), validating configuration changes, and comparing database record snapshots. Unlike text diff tools that compare raw characters, JSON Diff understands the structure: if a key has moved within the object, it's flagged; if a value changed from string to number, it's highlighted as a type change.

How Does It Work?

Paste the original JSON on the left and the modified JSON on the right. The tool parses both, validates they're valid JSON, and performs a deep structural comparison. Differences are color-coded: green for added, red for removed, yellow for modified values. Nested differences are shown with their full JSONPath (e.g., $.user.address.city). Options include: ignore key order, ignore specific keys, compare arrays as sets (unordered) or sequences (ordered).

Formula

Deep Comparison Algorithm:\n1. If both values are primitives: compare by value and type\n2. If both are objects: recursively compare each key\n3. If both are arrays: compare element by element (ordered) or as multisets (unordered)\n4. If types differ: flag as type change\n\nOutput:\n+ added: key present only in new JSON\n− removed: key present only in old JSON\n~ changed: key present in both but value differs\n\nSimilarity = Matching Keys ÷ Total Unique Keys × 100%

Who Uses This Tool?

Pro Tips

Frequently Asked Questions about Json Diff

What's the difference between JSON Diff and text diff?

Text diff compares raw characters — it won't notice that {'b':2,'a':1} and {'a':1,'b':2} are structurally identical. JSON Diff understands the semantics: key order doesn't matter, but value and type changes do.

Can I compare JSON arrays that are in different orders?

Yes, switch to 'unordered array comparison' mode. This treats arrays as multisets (comparing element presence, not position). Perfect for comparing database results where order isn't guaranteed.

Free online Json Diff — no signup, 100% client-side processing. All data stays in your browser.