JSON Diff Checker
NewDeveloper Tools
Compare JSON values structurally. Ignore whitespace and object key order while detecting added, removed, and changed values at JSON Pointer paths. Large numbers remain exact.
Enable JavaScript to activate these controls and process your input in the browser.
How to Use JSON Diff Checker
Use the controls above, then check the example and limitations below.
Paste two JSON documents
Put the original on the left and updated data on the right.
Inspect pointer paths
Review added, removed and changed values. /roles/1 means the second roles array item.
Export differences
Copy the report or download json-differences.json for review.
What is JSON Diff Checker & How Does It Work?
A structural comparison answers whether JSON values changed, even when a formatter rearranges keys or changes indentation. Objects compare by key, arrays by index, and primitive values by type and value. Each reported path identifies an addition, removal, or replacement.
Numeric literals are compared using exact decimal normalization, so large identifiers do not collapse into the same floating-point value. Equivalent forms such as 1.0 and 1e0 compare equal. Duplicate object keys are rejected because their interpretation is ambiguous. The comparison is bounded to 200,000 characters per input, 80 nesting levels, 20,000 values, and 5,000 differences.
Key Features & Benefits
Structural semantics
Whitespace and object key order do not produce noise.
Lossless numbers
Large integers and exponent notation compare without rounding.
Safe key handling
Keys such as __proto__ are treated as ordinary data.
Common Use Cases
API response review
Adding editor to [reader] produces an added value at /roles/1.
Configuration changes
Changing true to the string "true" is reported as a type and value change.
Frequently asked questions
Related Developer Tools & Companion Tools
Explore complementary utilities for your workflow