JSON Diff

Compare two JSON documents side by side and spot added, removed, and changed paths fast.

Comparison options

Tool Overview: JSON Diff

JSON Diff compares two JSON documents side by side and pinpoints added, removed, and changed paths. It is useful for API debugging, config reviews, contract checks, and regression analysis when payloads become too large to inspect manually.

What Is JSON Diff?

JSON Diff recursively walks both JSON structures and reports changes at the path level. Instead of visually scanning formatted text, you get a clearer view of which nested keys or array items actually changed.

How to Use

  1. Paste the original JSON into the left editor.
  2. Paste the updated JSON into the right editor.
  3. Optionally sort object keys before comparing.
  4. Run the comparison to inspect the diff list, formatted JSON, and downloadable report.

Common Use Cases

  • Compare two API responses to confirm schema drift.
  • Review config changes before deployment.
  • Check mock payloads against real backend responses.
  • Verify data structure changes during regressions.

✨ Highlights

  • 📍 Path-level change detection – inspect exact paths such as $.meta.locale or $.items[2].status.
  • 🔁 Recursive object and array comparison – objects are compared by key, arrays by index.
  • 🧹 Optional key sorting – reduce noise caused only by object key order changes.
  • 📦 Copyable and downloadable reports – easy to share diffs in issues, pull requests, or reviews.

📋 Example

Original JSON

{
  "project": "ToolMi",
  "version": "1.0.0",
  "features": {
    "jsonDiff": false,
    "jsonSchema": true
  },
  "tags": ["json", "compare", "nuxt"],
  "meta": {
    "locale": "en",
    "updatedAt": "2026-03-07"
  }
}

Updated JSON

{
  "project": "ToolMi",
  "version": "1.1.0",
  "features": {
    "jsonDiff": true,
    "jsonSchema": true,
    "jsonPath": true
  },
  "tags": ["json", "diff", "nuxt", "i18n"],
  "meta": {
    "locale": "fr",
    "updatedAt": "2026-03-08"
  }
}

Typical Diff Output

Changed $.version
Changed $.features.jsonDiff
Added $.features.jsonPath
Changed $.tags[1]
Added $.tags[3]
Changed $.meta.locale
Changed $.meta.updatedAt

🔧 Usage Tips

  1. Validate the JSON first – remove comments, trailing commas, or invalid quotes before comparing.
  2. Sort keys when order is irrelevant – this helps when APIs only reshuffle object properties.
  3. Focus on paths, not formatting – indentation changes do not matter; path/value changes do.
  4. Break down huge arrays – compare smaller slices first if large arrays become hard to review.

❓ FAQ

Q1: Why do two differently formatted JSON blocks show no diff?
A: The tool compares parsed structure and values, not whitespace or indentation.

Q2: Are arrays compared by value or by position?
A: Arrays are currently compared by index, so reordering items will be reported as a change.

Q3: Should I use this for plain text?
A: Only if the content is valid JSON. For plain text, use the text diff tool instead.

Q4: Can I export the result?
A: Yes. You can copy the report or download a structured diff report file.