JSON Compare / Diff + Patch

Porównaj semantycznie dwa dokumenty JSON w przeglądarce i zamień różnicę w patch.

Bez wysyłania, bez rundy na serwer. Ogranicz szum dzięki trybom porównywania tablic, regułom ścieżek i tolerancji liczbowej.

Przetwarzanie tylko w przeglądarce, bez wysyłania na serwer
Tryby uwzględniające tablice zmniejszają szum przeglądu
Eksport JSON Patch i JSON Merge Patch
Wszystko pozostaje w sesji przeglądarki. Nic nie jest wysyłane.

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.

Before

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
  }
}

After

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 compare

  1. Paste or upload the left and right JSON documents.
  2. Choose strict, ignore order, multiset, or match by key(s), then add any path rules you need.
  3. Run Compare or use the shortcut. Validate first if you only want to check parsing.
  4. Copy or download the changed paths, patch, merge patch, or report when you are done.

Co możesz zrobić

  • Porównuj JSON semantycznie, a nie linia po linii.
  • Dopasowuj elementy tablicy po kluczach, takich jak id, sku lub code.
  • Ignoruj ścieżki, wybieraj ścieżki albo stosuj reguły porównania dla poszczególnych ścieżek.
  • Używaj tolerancji liczbowej, aby wygładzić drobne różnice zmiennoprzecinkowe.
  • Eksportuj JSON Patch, JSON Merge Patch, zmienione ścieżki i raport Markdown.
  • Zwijaj niezmienione węzły i przechodź bezpośrednio do właściwej ścieżki.

Comparison rules and output

  • Processing runs entirely in the browser. Nothing is uploaded.
  • Strict, ignore-order, multiset, and match-by-key array modes are supported.
  • Path rules support ignore, strict, ignore-order, multiset, match-keys, and tolerance.
  • Numeric tolerance is applied to numbers only.
  • Comments can be stripped before parse when needed.
  • Large inputs use summary-first rendering and can disable auto-compare.

Częste pytania

Czy mogę porównywać tablice obiektów po kluczu?

Tak. Użyj dopasowania po kluczu lub kluczach i podaj klucze takie jak id lub sku. Możesz też nadpisać regułę dla konkretnej ścieżki.

Jak zignorować znaczniki czasu lub identyfikatory żądań?

Dodaj je do ścieżek ignorowanych albo użyj reguły ścieżki, jeśli wyjątek ma dotyczyć tylko jednego poddrzewa.

Czy mogę zachować kolejność tablicy dla części danych, a dla innych ją ignorować?

Tak. Użyj reguł ścieżki, aby ustawić ignore-order, multiset albo dopasowanie po kluczach tylko tam, gdzie tego potrzebujesz.

Czy obsługuje JSON z komentarzami?

Standardowy JSON nie dopuszcza komentarzy. Włącz usuwanie komentarzy przed parsowaniem tylko wtedy, gdy potrzebujesz zaakceptować dane w stylu JSONC.

Czy cokolwiek jest wysyłane na serwer?

Nie. Porównanie, normalizacja i eksport odbywają się lokalnie w przeglądarce.

Co mogę wyeksportować?

JSON Patch, JSON Merge Patch, zmienione ścieżki i raport Markdown.