Loading...
Local JSON comparison

Your JSON is parsed and compared in this browser without being sent to a comparison API.

Rules: Object key order is ignored. Array order and JSON value types are significant.

Ready to compare

Enter two valid JSON documents, then select Compare JSON or press Ctrl+Enter.

Comparison result

Differences
0
Added
0
Removed
0
Changed
0
Type changed
0
Highlighted JSON comparison

Differences are colored directly on formatted JSON with object keys ordered for comparison. Scroll either pane to move both views together.

Added Removed Changed Type changed
Original JSON
Changed JSON
JSON path Status Original value Changed value

Compare JSON Structures and Values

JSON Compare parses two JSON documents and reports structural differences at precise paths such as $.settings.timeout or $.items[2].

The comparison runs locally in the browser. Object key order is ignored, while array positions, JSON value types, and primitive values are compared strictly.

Key features

  • Highlighted JSON comparison View both formatted JSON documents side by side with colored lines for added, removed, changed, and type-changed values, then use each JSON path for exact navigation.
  • Four difference categories The summary separates added properties or items, removed data, changed primitive values, and values whose JSON type changed.
  • Structural JSON semantics Objects are compared by property name regardless of key order. Arrays are compared by index, so moving an item can produce several positional differences.
  • Copyable JSON report Copy the displayed comparison as structured JSON for issue reports, code review notes, automated follow-up, or debugging records.

How to compare two JSON documents

Parse two JSON values and inspect every structural difference by path.

  1. Paste the original JSON Enter the baseline JSON object, array, string, number, boolean, or null value in the Original JSON field.
  2. Paste the changed JSON Enter the JSON version you want to verify in the Changed JSON field. Each input must be valid standard JSON and no larger than 1 MB.
  3. Run the structural comparison Select Compare JSON or press Ctrl+Enter. Correct any syntax error shown beneath an input before comparing again.
  4. Review highlighted content or copy the report Inspect colored differences directly in the synchronized JSON panes, use the path table for exact values, then copy the displayed report when you need a machine-readable record.

Usage tips

  • Use standard JSON with double-quoted property names and no comments or trailing commas.
  • Remember that arrays are positional: inserting an item near the start can make later indexes appear changed.
  • JavaScript parses numbers beyond the safe integer range with possible precision loss; encode exact large identifiers as strings before comparing.
  • When more than 1,000 differences exist, the totals still cover the full comparison but the detail table and copied report contain only the first 1,000 entries.

Frequently asked questions

No. JSON objects are compared by property name, so {"a":1,"b":2} and {"b":2,"a":1} are treated as identical.
Arrays are compared item by item at the same index. Array order is significant, and the tool does not try to match moved objects by an ID field.
It means the values at one path use different JSON types, such as the number 1 versus the string "1", an object versus an array, or null versus a boolean.
No. Standard browser parsing keeps the last value for a duplicate property name before comparison, so remove duplicate keys with a dedicated validator first.
No. Parsing, comparison, table rendering, and report generation are implemented in browser-side JavaScript and do not call a comparison API.