JSON Diff Viewer (Compare Two JSON Documents)

Paste two JSON documents side by side and keep only the structural differences.

Added, removed, changed, and type changes are separated so обзорs stay fast and readable.

Browser-only processing, with no server upload
Array-aware modes reduce review noise
Export JSON Patch and JSON Merge Patch
Your JSON is compared only in this browser and never uploaded to a server.

Recommended workflow

  1. Clean or sort the JSON first with JSON Formatter or JSON Key Sorter when you want consistent input.
  2. Paste or upload the left and right JSON documents, then run Compare.
  3. Choose the array mode, match keys, tolerance, and path rules that fit the review.
  4. Review the summary, changed paths, tree, and exportable patch output.

Sample

This sample shows how reordered arrays, timestamp changes, tiny floating-point differences, and one added item can be narrowed down with match keys, tolerance, and path rules.

Left JSON

Input
{
  "orderId": "A-1001",
  "updatedAt": "2026-04-16T08:00:00Z",
  "customer": {
    "name": "Acme Corp",
    "tags": ["vip", "beta"]
  },
  "items": [
    {
      "sku": "A-1",
      "qty": 2,
      "price": 10
    },
    {
      "sku": "B-2",
      "qty": 1,
      "price": 4.5
    }
  ],
  "summary": {
    "currency": "USD",
    "total": 24.5
  }
}

Right JSON

Input
{
  "orderId": "A-1001",
  "updatedAt": "2026-04-16T08:05:00Z",
  "customer": {
    "name": "Acme Corporation",
    "tags": ["beta", "vip"]
  },
  "items": [
    {
      "sku": "B-2",
      "qty": 1,
      "price": 4.5
    },
    {
      "sku": "A-1",
      "qty": 2,
      "price": 10.0001
    },
    {
      "sku": "C-3",
      "qty": 1,
      "price": 7
    }
  ],
  "summary": {
    "currency": "USD",
    "total": 24.5001
  }
}

What the sample demonstrates

This sample shows how reordered arrays, timestamp changes, tiny floating-point differences, and one added item can be narrowed down with match keys, tolerance, and path rules.

How to use it

  1. Paste JSON into the left and right editors.
  2. Adjust key заказ, array заказ, and display mode if needed.
  3. Run compare, then copy or загрузка the отчет when you are done.
  4. Copy or download the changed paths, patch, merge patch, or report when you are done.

What it does

  • Compares JSON structures recursively.
  • Separates added / removed / changed / type_changed entries.
  • Switches between tree and список views.
  • Copies the отчет or загрузкаs it as JSON.
  • Export JSON Patch, JSON Merge Patch, changed paths, and a Markdown report.
  • Collapse unchanged nodes and jump directly to the relevant path.

Spec

  • Key заказ does not affect the default comparison результат.
  • Arrays are compared in заказ by default, but the behavior can be changed.
  • This tool does not validate JSON Schema.
  • All processing stays in the browser. Nothing is sent to a server.
  • Very large JSON documents depend on browser performance.
  • Large inputs use summary-first rendering and can disable auto-compare.

Часто задаваемые вопросы

Can key заказ be ignored?

Yes. The default behavior avoids key-заказ noise in the результат.

Are array positions compared?

Yes, by default. You can change the behavior in the settings panel.

Does it validate JSON Schema?

No. It focuses on structural diffing only.

Is anything uploaded to a server?

No. Comparison happens entirely in your browser.

Is anything uploaded to a server?

No. Comparison, normalization, and export all happen locally in your browser.

What can I export?

JSON Patch, JSON Merge Patch, changed paths, and a Markdown report.