PTBox

Structural JSON Diff

Compare two JSON values structurally (not as text). The tree walk reports each difference by full JSON path and classifies it as added, removed, changed or type-changed. Key order is ignored. Everything runs in your browser.

Usage

Compares two JSON values structurally (recursive walk), not as text. Key order is ignored.

Four diff types

  • + Added: key/element present only on the right;
  • − Removed: present only on the left;
  • ~ Changed: same path, different primitive value;
  • ! Type-changed: same path, different type (e.g. "85" vs 85).

Each diff is labelled with its full JSON path (e.g. $.user.phone, $.tags[2]). Click any colored badge to filter that diff type. Everything runs locally; JSON is never uploaded.

Use cases

Comparing API versions

See which fields are added, removed or changed between two versions of a response.

Reviewing config changes

Compare before / after of a config file to avoid merging mistakes.

Locating test failures

When expected vs actual differ in a unit test, jump straight to the diff path.

Data migration validation

Verify the dump before and after a migration is identical.

FAQ

How does this differ from git diff?

git diff compares text lines; this tool compares JSON semantically. Reordered keys aren't reported as differences.

How are arrays compared?

By index. Elements that moved are flagged as changed; sort both sides first if you want order-insensitive comparison.

What's the difference between Changed and Type-changed?

Type-changed (e.g. "85" vs 85) is marked !; same-type with different values is marked ~.

Can I copy a diff path?

Yes — every diff has a full JSON path like $.user.phone you can paste straight into your code.

Related tools

Comments

0 / 1000