Birdor Tools · JSON

JSON Diff & Merge

Paste two JSON documents and let Birdor show you exactly what changed. Added, removed, and modified fields are highlighted in a structured tree, with an optional deep-merged JSON output that uses the right side to override the left — perfect for API responses, config files, and schema tweaks.

JSON Diff & Merge
Compare two JSON documents structurally, highlight additions, removals, and changes, and generate a merged result that prefers the right-hand side.
Arrays are compared by index; only object key order is ignored.
Left JSON (base)

Typically the “before” state. The merged result uses this as a base.

Left side is parsed with JSON.parse.
Right JSON (target)

Typically the “after” state. When merging, its values override the left side.

Right side is parsed with JSON.parse.
Diff result

Structural differences between left and right JSON documents.

+2 added-0 removed~1 changed
nested
·$
same
id·$.id
changed
name·$.name
"Birdor"
"Birdor Tools"
same
role·$.role
nested
tags·$.tags
same
[0]·$.tags[0].
same
[1]·$.tags[1].
added
[2]·$.tags[2]
"merge"
nested
profile·$.profile
same
created_at·$.profile.created_at
same
active·$.profile.active
added
homepage·$.profile.homepage
"https://birdor.com"
Merged JSON (left ⟶ right)

Deep merge using left as a base and overriding with values from the right side. Arrays are replaced by the right side.

{
  "id": 1,
  "name": "Birdor Tools",
  "role": "dev-tools",
  "tags": [
    "json",
    "diff",
    "merge"
  ],
  "profile": {
    "created_at": "2025-11-28T12:34:56Z",
    "active": true,
    "homepage": "https://birdor.com"
  }
}

Tip: Use this as a lightweight review tool for API responses, configuration changes, or schema migrations. For large JSON payloads, you can trim irrelevant branches before diffing to focus on what changed.