Skip to content
Utiloom

JSON Diff

Compare bounded JSON documents with RFC 6901 pointers, type-preserving evidence, and a verified invertible RFC 6902 patch.

LocalNo retention

Reviewed July 13, 2026

Guide, examples, and validation Show

About this tool

Compare parsed JSON semantics without confusing object key order, formatting, member-name punctuation, or string and number types.

JSON Diff is useful when two payloads look similar at a glance but you need the exact structural changes fast. It helps compare API responses, config objects, saved drafts, and transformed data without manually scanning long nested objects line by line.

  • Uses fast-json-patch 3.1.1 to generate invertible RFC 6902 operations and displays unambiguous RFC 6901 JSON Pointer paths.
  • Reapplies the patch to a cloned original with validation and prototype modification protection before marking it verified.
  • Preserves JSON value types, filters by operation and value, rejects unsafe integers, and exports a verified patch or bounded evidence report.

How to use JSON Diff

Paste the original JSON on one side and the updated JSON on the other, then review the diff before copying the output or sharing the comparison. If either side fails to parse, clean the invalid JSON first so the comparison reflects data changes rather than syntax errors.

When this tool is useful

  • Uses fast-json-patch 3.1.1 to generate invertible RFC 6902 operations and displays unambiguous RFC 6901 JSON Pointer paths.
  • Reapplies the patch to a cloned original with validation and prototype modification protection before marking it verified.
  • Preserves JSON value types, filters by operation and value, rejects unsafe integers, and exports a verified patch or bounded evidence report.

Examples you can test

Load an example, compare the result with the expected output, then replace it with your own input.

Compare API responses

Example input

Before: {"status":"draft"}
After: {"status":"published"}

Expected output

Changed field: status

Formatting both JSON inputs first makes structural differences easier to review.

Spot config drift

Example input

Before: {"retries":3,"timeout":1000}
After: {"retries":5,"timeout":1000}

Expected output

Changed field: retries

Diffs are useful when a small config change has a large runtime effect.

Validation checklist

  • Validate both JSON inputs before comparing them.
  • Sort keys when object order is distracting but not meaningful.
  • Review removed fields separately from changed values.

Frequently asked questions

Does this ignore key order?

Yes. It compares parsed JSON values rather than raw text order.

Can I diff nested objects and arrays?

Yes. Nested members use escaped JSON Pointer segments and arrays use index-based RFC 6902 operations.

How does the diff handle differences in key ordering between two JSON objects?

Key order is ignored during comparison because JSON objects are unordered by specification. Only actual value differences, added keys, and removed keys are reported.

Can I compare deeply nested JSON structures with arrays?

Yes, within explicit depth, node, and operation limits. Array changes are index-based, so an insertion near the beginning can produce multiple replace operations.

Is there a size limit on the JSON I can paste into the tool?

Each input is limited to 2,000,000 characters, 50,000 parsed nodes, 256 nesting levels, and 2,000 displayed changes.

Related tools

Keep the workflow moving

Continue with tools that handle a related input, output, or validation step.

Developer

CSV & Local Data Workbench

Profile, clean, and convert CSV data locally.

Local
Developer

JSON Schema Workbench

Validate bounded JSON Schema and instance data locally.

Local
Developer

Accessibility QA Workbench

Review WCAG contrast and isolated HTML audit evidence.

Local
Developer

ASCII Table

Search, inspect, copy, and export standard ASCII codes.

Local