Runs locally in your browser
JSON Diff
Compare two JSON documents structurally. Find added, removed, and changed values by path without differences caused by whitespace or property order.
$.version$.features[2]$.private$.local✓ Compared structurally in your browser
Compare JSON by structure, not formatting
JSON Diff parses both documents before comparing them. Indentation, spaces, and object property order are ignored, so the result focuses on actual values, missing keys, new keys, and array items.
Read changes using JSON paths
Each difference includes a path from the root value to the changed field or array index. Use these paths to investigate API responses, configuration changes, test fixtures, or generated data.
Frequently asked questions
How is JSON Diff different from Text Diff?
JSON Diff parses both documents and compares object keys and array indexes. Formatting and property order do not create changes, while Text Diff compares literal lines.
How are arrays compared?
Array items are compared by their numeric index. Inserting an item near the beginning can therefore produce several subsequent changes.
What does the $ symbol mean in a path?
$ represents the root JSON value. Object fields use dot or bracket notation and array items use numeric brackets, such as $.users[0].name.
Is either JSON document uploaded?
No. Parsing and structural comparison happen locally in your browser.