Free online tool. All processing is client-side. No signup needed.
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.
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).
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%
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.
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.