Small Utility Lab

FIND STRUCTURED CHANGES

Compare two JSON values by path.

Compare two valid JSON values locally. See added, removed, and changed object keys or array indexes with JSON Pointer paths.

Compare parsed JSON values. Each input is limited to 100,000 characters; output stops at 500 differences.

Compare object keys, array indexes, and values. Your JSON stays in this browser.

How the comparison works

Both inputs must be valid JSON. Objects are compared by key, arrays by index, and each result shows a JSON Pointer path plus the before and after value. Object key order and whitespace do not affect the comparison. A changed array item is reported at its index; insertions or deletions can therefore make later indexes appear changed too. The root value is labeled $ (root).

Each input is limited to 100,000 characters, nesting to 100 levels, and displayed output to 500 differences. JSON numbers follow JavaScript parsing behavior. Page content updated November 3, 2026.

Runs in your browser. No uploads. No account.

Good to know

Does object key order count as a difference?

No. Objects are compared by their keys and values, so key order and formatting whitespace do not create a difference.

How are arrays compared?

Array entries are compared by index. An insertion or removal may shift indexes, so later entries can be reported as changed even if the same value appears elsewhere.

How are paths written?

Paths use JSON Pointer escaping: a slash in a key becomes ~1, and a tilde becomes ~0. The root itself is shown as $ (root).

What happens with invalid JSON?

The comparison stops and reports which side has invalid JSON with the browser's parse error.

Does my JSON leave this browser?

No. Parsing and comparison happen locally in this browser tab. Inputs are not uploaded or saved by the tool.

Is it free?

Yes, during beta. Optional usage-credit plans are coming soon. Payments are not available and no credits are required.

Source

Method checked November 3, 2026. RFC 8259 defines JSON syntax, values, objects, arrays, and number representation.

How it works

1. Paste valid JSON into the before and after fields. 2. Compare the parsed values by object key and array index. 3. Review path-level additions, removals, and changes; input stays in your browser.

Good to know

Does object key order count as a difference?

No. Objects are compared by keys and values, so whitespace and key order do not create a difference.

How are arrays compared?

Array entries are compared by index. Insertions or removals can shift later indexes and appear as additional changes.

What happens with invalid JSON?

The comparison stops and reports which side has invalid JSON with the browser's parse error.

Does my JSON leave this browser?

No. Parsing and comparison run locally in this browser tab; input is not uploaded or saved by the tool.

Is it free?

Yes, during beta. Optional usage-credit plans are coming soon. Payments are not available and no credits are required.