Explainable array matching
Identity-key suggestions show uniqueness evidence and require confirmation. Missing or duplicated identities stop the rule instead of falling back silently.
PayloadPair is a free, private browser-based JSON compare tool for API responses and configuration files. Define what “equal” means—by path, number, and array identity—without hiding how records were matched.
{
"items": [
{ "id": 42, "qty": 3 },
{ "id": 7, "qty": 5 }
]
}{
"items": [
{ "id": 7, "qty": 5 },
{ "id": 42, "qty": 4 }
]
}3 → 4Matched by id; reordering ignored by your rule.Sample JSON is ready to compare.
JSON objects are unordered, arrays are ordered, and production payloads often contain volatile fields. PayloadPair begins with safe JSON semantics, then applies only the rules you choose.
id or sku.API records, inventory, environmentsPayloadPair does not silently decide that two records belong together. Matching evidence, ignored counts, and rule coverage remain visible beside the result.
Read the full methodologyIdentity-key suggestions show uniqueness evidence and require confirmation. Missing or duplicated identities stop the rule instead of falling back silently.
Large integers and decimal spellings are parsed without being squeezed through JavaScript's ordinary floating-point representation.
Your semantic rules shape the review. The JSON Patch remains a separate original-to-modified transformation and is enabled only after a round-trip check.
Inputs live in memory, refresh clears them, and configuration sharing excludes payload values. Reports omit values unless you deliberately include them.
Ignore request IDs and timestamps, then catch missing fields, type drift, or unexpected values after a deployment.
Compare expected and actual JSON while preserving the difference between a missing property and an explicit null.
Match arrays of environment entries by name and explain precisely which record changed.
Spot missing keys and type changes without being distracted by object-member ordering.
Our public edge-case corpus covers object order, array edits, keyed matching, duplicate identities, numeric precision, JSON Pointer escaping, and patch round trips.
No. Comparison runs inside a browser worker, and PayloadPair does not intentionally transmit or store your JSON input. Refreshing or clearing the page removes it from application memory. Ordinary page and device metadata may be processed by a future analytics provider as described in our privacy policy, but payload content is excluded.
Object member order does not change the JSON value. Array order does matter by default. If an array represents records rather than a sequence, you may explicitly match it by a unique key or treat it as an unordered multiset.
The keyed rule stops for that array and reports the ambiguity. PayloadPair never silently falls back to comparing those records by index.
No. Ignore rules, tolerance, and keyed matching affect the comparison report only. The exact patch is generated directly from the original value to the modified value and verified before export.
PayloadPair performs parsing and comparison in a background worker and renders large results in bounded batches. Practical limits still depend on your browser and device. The current editor safety limit is 5,000,000 bytes per input.