Skip to content
Toolcroft

Developer Tools

JSON Diff Viewer - Compare Two JSON Documents

Compare two JSON objects side-by-side. Instantly see added, removed, changed, and unchanged keys - with support for deeply nested structures.

+1 added−1 removed~3 changed1 unchanged
name"Alice""Alice"
age~ changed30to31
role− removed"admin"
address~ changed
city~ changed"New York"to"Boston"
zip~ changed"10001"to"02101"
email+ added"alice@example.com"

What is a JSON diff?

A JSON diff compares two JSON documents and highlights exactly which keys were added, removed, changed, or left unchanged. Unlike a plain text diff, a JSON diff understands the structure of the data, recursing into nested objects and arrays instead of just comparing raw lines.

How to use this tool

  1. Paste your original JSON into the left editor.
  2. Paste the modified JSON into the right editor.
  3. The diff tree updates instantly as you type.
  4. Toggle Hide unchanged to focus on what changed.

Status indicators

  • + added: The key exists only in the right document.
  • − removed: The key exists only in the left document.
  • ~ changed: The key exists in both, but the value differs.
  • ⚡ type: The key exists in both, but the value's type changed (e.g. number -> string).

Semantic vs. syntactic diff

A plain text diff treats JSON as lines of text and reports line-level changes. If a large JSON object is reformatted (different indentation, key reordering), a text diff will show almost everything as changed - even when the actual data is identical. A semantic JSON diff compares parsed values, so reformatting and key reordering are silently handled.

Deep equality and array order

JSON arrays are ordered sequences: ["a","b"] and ["b","a"] are different values. This tool treats them as different, which is the correct JSON-spec behavior. Some diff tools offer an "ignore array order" option for cases where arrays represent unordered sets (e.g., a list of tags).

Common use cases

  • Comparing API responses between environments (dev vs. prod)
  • Reviewing configuration file changes
  • Debugging why a test fixture no longer matches
  • Auditing changes to JSON-based data exports

Privacy