Start · Kostenlose Tools · JSON vergleichen

Zwei JSON-Dateien vergleichen

Zwei JSON-Dokumente einfügen oder als .json-Datei ablegen. Beide werden erst gelesen und dann verglichen: Schlüsselreihenfolge und Einrückung gelten als Schreibweise, zwei Exporte desselben Objekts sind also identisch. Übrig bleibt jeder echte Unterschied mit seinem Pfad — regionen[2], abrechnung/tarif — und beiden Werten nebeneinander. Hochgeladen wird keines der Dokumente.

Erstes Dokument einfügen oder eine .json-Datei ablegen

Zweites Dokument die Fassung, die Sie prüfen wollen

Machen Sie das jeden Monat? Einmal in TableDI 2 erledigen, als Auftrag speichern, nächsten Monat erneut ausführen. TableDI 2 kostenlos laden

Nichts wird hochgeladen. Die Datei wird von JavaScript in diesem Tab gelesen und verlässt Ihren Rechner nicht — kein Server sieht sie, und mit dem Tab ist sie weg.

Zwei JSON-Dateien vergleichen

  1. Beide Dokumente laden. Einfügen oder je eine .json-Datei auf ein Feld ziehen. Gelesen wird im Tab, nichts wird hochgeladen.
  2. Unterschiede nach Pfad lesen. Jede Zeile ist ein Unterschied: wo er liegt, ob hinzugefügt, entfernt oder geändert, und der Wert auf jeder Seite.
  3. Schreibweise ignorieren. Umsortierte Schlüssel, andere Einrückung und \u-Escapes statt Umlauten erzeugen keine Zeile.
  4. Liste mitnehmen. Als CSV herunterladen oder kopieren und ins Ticket oder ins Review einfügen.

Reihenfolge, Einrückung und Escapes sind Schreibweise

{"b":1,"a":2} und {"a":2,"b":1} sind dasselbe Objekt. Jede Bibliothek, die ein Dokument neu schreibt, darf die Schlüssel anders ordnen, und die meisten tun es — ein zeilenweiser Diff zweier Exporte desselben Datensatzes ist deshalb oft komplett rot.

Für deutschsprachige Daten kommt ein dritter Fall dazu: Der eine Serializer schreibt "Müller", der andere "M\u00fcller". Beides ist derselbe String. Diese Seite liest beide Seiten zuerst als JSON und vergleicht die gelesenen Werte — Escapes, Einrückung und Schlüsselreihenfolge erzeugen keine einzige Zeile. Dasselbe gilt für 1.0 gegen 1 und 1e3 gegen 1000: für JSON ist das dieselbe Zahl.

Arrays behalten ihre Reihenfolge, Objekte nicht

In einem Objekt sind die Schlüssel eine Menge, ihre Reihenfolge bedeutet nichts. In einem Array ist die Reihenfolge die Bedeutung. [1,2,3] gegen [3,2,1] ergibt deshalb zwei geänderte Positionen. Ein angehängtes Element erscheint als eine Hinzufügung bei pfad[2], nicht als Umbau von allem, was danach kommt.

Jeder Unterschied hat eine Adresse

Das Ergebnis ist eine Liste, keine zwei Spalten zum Querlesen. Jede Zeile trägt den Pfad, an dem der Unterschied liegt: Schlüssel durch / getrennt, Array-Positionen in eckigen Klammern. So lässt sich abrechnung/regionen[2] ins Ticket kopieren oder in der Datei suchen. Größere Teilbäume werden zusammengefasst statt ausgeschüttet; die Zeilen darunter zeigen, was sich darin geändert hat.

Die ganze Liste lädt als CSV herunter. Eine Spalte mit Pfaden lässt sich sortieren, filtern und abhaken — meistens die Form, in der so eine Liste als Nächstes gebraucht wird.

Typen werden verglichen, nicht angeglichen

5 und "5" sind verschieden, ebenso false und 0. Ein Schlüssel mit null und ein fehlender Schlüssel sind ebenfalls verschieden: Das eine ist ein geänderter Wert, das andere ein entfernter Schlüssel. Genau solche Änderungen kommen in einem kleinen API-Update still herein, und ein lockerer Vergleich versteckt sie. Hier werden sie gemeldet.

Was der Vergleich nicht tut

  • Zusammenführen. Er meldet Unterschiede, er erzeugt kein drittes Dokument.
  • Array-Einträge über eine ID zuordnen. Arrays werden nach Position verglichen. Stehen dieselben Datensätze in anderer Reihenfolge, sortieren Sie beide vorher — oder, wenn die Daten tabellarisch sind, nehmen Sie den CSV-Vergleich, der Zeilen über eine Schlüsselspalte zuordnet.
  • Kaputtes JSON reparieren. Eine Datei, die sich nicht lesen lässt, wird mit der Stelle gemeldet, an der der Parser abbricht. Geraten wird nichts.
  • Sehr lange Ganzzahlen exakt halten. Zahlen mit mehr als 15 bis 16 Stellen liest JavaScript als Gleitkommazahl. Zwei 19-stellige IDs, die sich nur hinten unterscheiden, können dadurch als gleich gelten. Solche IDs gehören in JSON in Anführungszeichen — dann werden sie als Text exakt verglichen.

Warum die Dokumente im Tab bleiben

Was man in einen JSON-Vergleich kopiert, ist meistens eine API-Antwort, eine Konfiguration oder ein Export — also Schlüssel, Tokens und Kundendaten. Die an einen fremden Dienst zu schicken, ist eine Übermittlung, die niemand vereinbart hat. Hier liest und vergleicht JavaScript auf Ihrem Rechner; keines der Dokumente steht in einer Anfrage.

TableDI 2 ist eine Desktop-App für Dateiarbeit, die jede Periode wieder ansteht: Quellen, Regeln und Übergabe werden als Auftrag gespeichert, sodass Sie nächsten Monat die neuen Dateien hineinlegen und den Auftrag erneut ausführen. Alles läuft auf Ihrem eigenen Rechner. Wenn derselbe Export jeden Monat geprüft werden muss, ist das der Ort dafür.

Häufige Fragen

Warum gelten zwei Dateien, die verschieden aussehen, als identisch?

Weil sich nur Formatierung, Schlüsselreihenfolge oder die Schreibweise von Sonderzeichen unterschieden hat — \u00fc und ü sind für JSON dasselbe Zeichen. Brauchen Sie einen zeichengenauen Vergleich, ist das ein Text-Diff, und ein JSON-Vergleich ist dafür das falsche Werkzeug.

Warum wird ein Wert als geändert gemeldet, obwohl er gleich aussieht?

Meist steckt ein unsichtbares Zeichen dahinter: ein Leerzeichen am Ende, ein geschütztes Leerzeichen oder ein Umlaut, der als u plus Trema-Zeichen gespeichert ist, wie es manche Mac-Programme schreiben. Für JSON sind das verschiedene Strings, und genau deshalb werden sie gemeldet.

Kann ich Arrays mit Datensätzen vergleichen?

Ja, nach Position. Stehen dieselben Datensätze in beiden Dateien in anderer Reihenfolge, sortieren Sie beide vorher nach ihrer ID — die Position ist die einzige Ordnung, die ein Array trägt.

Funktioniert das mit JSON Lines, JSON5 oder Kommentaren?

Nein, nur mit Standard-JSON. Kommentare und abschließende Kommas werden als Lesefehler mit ihrer Position gemeldet. Bei JSON Lines vergleichen Sie eine einzelne Zeile oder wandeln die Datei vorher in ein Array um.

Wie groß dürfen die Dateien sein?

Dateien im Megabyte-Bereich werden im Tab gelesen und verglichen. Die Vorschau zeigt die ersten 300 Unterschiede, der CSV-Download enthält alle. Eingelesen wird als UTF-8, der Kodierung, die der JSON-Standard vorschreibt.

Werden meine Daten hochgeladen?

Nein. Beide Dokumente werden von JavaScript in diesem Tab gelesen. Die Seite lädt zwei Besucherzähler (static.cloudflareinsights.com und /_vercel/insights dieser Website), aber keine Anfrage enthält Ihre Daten — der Netzwerk-Tab Ihres Browsers zeigt es.

Machen Sie das jeden Monat?

In TableDI 2 machen Sie es einmal und speichern es als Auftrag. Nächsten Monat legen Sie die neuen Dateien hinein und führen ihn erneut aus.

macOS, Apple Silicon und Intel; die Windows-Version ist in Arbeit (was Sie bis dahin tun können). Kostenlos heißt nicht Testversion — kein Konto, keine Karte.

Zuletzt geprüft am 2026-09-11 vom TableDI-Team. Stimmt auf dieser Seite etwas nicht? Schreiben Sie uns — ein Postfach, gelesen von den Leuten, die TableDI bauen.