Skip to main content

JSON Diff

Compare two JSON objects structurally — added, removed, and changed keys.

Free & unlimited
JSON A (original)
JSON B (modified)
Layout
Granularity
1 / 3
1
{
2
"name": "Alice",
3
"age": 30,
3
"age": 31,
4
"hobbies": [
5
"reading",
6
"coding"
6
"gaming"
7
],
8
"address": {
9
"city": "NYC",
10
"zip": "10001"
11
}
9
"city": "SF",
10
"state": "CA"
11
},
12
"email": "[email protected]"
12
}
Structure(+2 −1 ~3)
$(changed)
name:"Alice"
age:3031
hobbies(changed)
[0]:"reading"
[1]:"coding""gaming"
address(changed)
city:"NYC""SF"
zip:"10001"
state:"CA"
+2−1~3 changed·6 total
All processing happens in your browser. No data is sent to any server.

About this tool

  1. 1

    Paste the first JSON

    Enter the original or baseline JSON object in the left panel.

  2. 2

    Paste the second JSON

    Enter the modified or comparison JSON object in the right panel.

  3. 3

    View differences

    Added, removed, and changed properties are highlighted with distinct colors.

  4. 4

    Navigate changes

    Use the change list to jump between differences in large JSON documents.

  • Use the tree view to expand and collapse nested objects while reviewing differences.
  • Array diffs can be compared by index or by a key field for more meaningful results.
  • Ignore specific paths (like timestamps) to focus on meaningful structural changes.
  • Copy the diff summary as a patch document to share with your team.
  • Structural diff that understands JSON types, not just text differences
  • Color-coded additions (green), deletions (red), and modifications (yellow)
  • Tree view with collapsible nodes for navigating large documents
  • Array comparison by index or by a unique key field
  • Diff summary with counts of added, removed, and changed properties
  • Compare API responses before and after a code change to verify correctness
  • Diff configuration files to find what settings changed between environments
  • Review database migration payloads by comparing before and after snapshots
  • Audit changes in JSON-based infrastructure-as-code files like Terraform state
By default, arrays are compared by index position. You can specify a key field (like "id") for smarter matching that detects moved, added, or removed items.
Yes. Add field paths to the ignore list to exclude noisy fields like timestamps, version numbers, or auto-generated IDs.
Yes. The tool recursively compares objects at every nesting level and shows the exact path to each difference.

Related tools

View all

We use anonymous analytics to improve ToolChamp. No personal data is stored or sold. Privacy Policy