Data & Requests · LOCAL TOOL

JSON Record Reconciliation

Reconcile two arrays of objects using one top-level string or numeric primary key. Identify added, removed, changed, unchanged, missing-key, and ambiguous records.

Runs in this page
No API call
WORKSPACEINPUT → RESULT
01

Your input

LOCAL
JSON Record Reconciliation inputs
02

Result

Run the tool to see a result.

Your result will appear here. Input is not saved.

Browser-side processingNothing is sent to a tool API.

WHY THIS TOOL EXISTS

A focused job, not a black box.

Duplicate identifiers are reported separately instead of arbitrarily picking a winner. Numeric 1 and string "1" stay distinct, and object property order alone does not count as a change.

How to use it

  1. Paste earlier and later arrays from the same kind of export.
  2. Enter the exact primary-key field name.
  3. Resolve duplicate or missing keys before interpreting the change list.

TRY A WORKING EXAMPLE

Start with known input.

Load this sample into the workspace, run the tool, and compare the result shown below.

Show sample input
{
  "before": "[{\"id\":1,\"status\":\"draft\"},{\"id\":2,\"status\":\"ready\"}]",
  "after": "[{\"id\":1,\"status\":\"ready\"},{\"id\":3,\"status\":\"new\"}]",
  "key": "id"
}

Expected sample result from the local tool

1 added · 1 removed · 1 changed.

{
  "added": [
    {
      "id": 3,
      "status": "new"
    }
  ],
  "removed": [
    {
      "id": 2,
      "status": "ready"
    }
  ],
  "changed": [
    {
      "key": 1,
      "before": {
        "id": 1,
        "status": "draft"
      },
      "after": {
        "id": 1,
        "status": "ready"
      }
    }
  ],
  "unchanged": 0,
  "ambiguous": [],
  "duplicates": {
    "before": [],
    "after": []
  },
  "missingKeyRows": {
    "before": [],
    "after": []
  }
}

LIMITS AND INTERPRETATION

What the result cannot tell you.

At most 10000 records and 200000 characters per input. Uses exact key types and deep JSON equality; it does not infer composite keys or business equivalence.

Inputs are processed in this page and are not written to local storage.