So formatieren Sie JSON
- Fügen Sie Ihr JSON – eine API-Antwort, eine Konfigurationsdatei, eine Logzeile – in das Feld ein. Es wird sofort beim Einfügen geprüft und formatiert. Eine JSON-Datei öffnen Sie dazu in einem Editor, markieren alles und kopieren es hierher.
- Wählen Sie Formatieren für lesbares JSON mit 2 oder 4 Leerzeichen oder Tabs Einrückung, oder Minifizieren, um alle Leerzeichen und Zeilenumbrüche zwischen den Werten zu entfernen.
- Setzen Sie den Haken bei Schlüssel sortieren, damit die Eigenschaften jedes Objekts alphabetisch stehen – so lassen sich zwei Versionen derselben Daten leicht vergleichen. Arrays behalten ihre Reihenfolge.
- Tippen Sie neben dem Ergebnis auf Kopieren. Ist das JSON ungültig, sehen Sie den Fehler, Zeile und Spalte und die Zeile selbst mit einem ^ unter der Fehlerstelle.
Was Formatieren, Minifizieren und Validieren tun
Formatieren – auch Beautify oder Pretty Print genannt – setzt jede Eigenschaft und jedes Listenelement in eine eigene Zeile und rückt sie nach Verschachtelungstiefe ein. Minifizieren macht das Gegenteil und lässt die kompakteste Form übrig. Beides ändert die Daten nicht. Der Validator prüft den Text gegen den JSON-Standard (RFC 8259, dieselbe Grammatik wie ECMA-404): Namen und Strings in doppelten Anführungszeichen, kein Komma nach dem letzten Element, keine Kommentare, true, false und null kleingeschrieben, Zahlen ohne führende Nullen, NaN oder Infinity. Gemeldet wird der erste gefundene Fehler.
Viele Online-Formatierer jagen den Text durch JavaScripts JSON.parse und geben ihn neu aus. Dieser liest den Text selbst und behält jeden Wert exakt bei:
- Große Zahlen werden nicht gerundet. JavaScript speichert ganze Zahlen nur bis 9.007.199.254.740.991 (253 − 1) exakt. Über
JSON.parsewird aus einer ID wie 12345678901234567890 die Zahl 12345678901234567000. Hier bleibt sie, wie sie ist – ebenso 12.50 und 1E+2. - Die Reihenfolge der Schlüssel bleibt. JavaScript-Objekte stellen Schlüssel, die wie ganze Zahlen aussehen („1“, „2“), nach vorn, deshalb verschiebt
JSON.parsesie; hier ändert sich die Reihenfolge nur, wenn Sie sortieren. - Strings werden Zeichen für Zeichen übernommen, auch Escape-Sequenzen wie
\u00fcund\/; Umlaute werden nicht in \u-Codes umgewandelt. - Doppelte Schlüssel werden gezählt. RFC 8259 verlangt eindeutige Namen innerhalb eines Objekts, weil Programme unterschiedlich entscheiden, welcher von zwei Werten gilt.
Dezimalkomma, „Anführungszeichen“ und Postleitzahlen
- Das Dezimalkomma ist in JSON keine Zahl. Im Deutschen schreibt man 12,50 €, in JSON ist das Dezimaltrennzeichen immer der Punkt:
12.50. In einem Objekt führt{"preis": 12,50}zum Fehler „Eigenschaftsname ohne Anführungszeichen“ in Spalte 14, weil JSON nach dem Komma den Namen der nächsten Eigenschaft erwartet. In einem Array ist[12,50]dagegen gültiges JSON mit zwei Zahlen, 12 und 50 – das besteht jede Prüfung, aber der Preis ist falsch. Das passiert leicht, wenn Werte aus einer deutschen Excel-Tabelle stammen. Tausenderpunkte gibt es ebenfalls nicht:1250.00, nicht1.250,00. - Deutsche Anführungszeichen. Word und viele Apps machen aus " beim Tippen „ und “. Für JSON zählen nur gerade doppelte Anführungszeichen; der Formatierer meldet „Typografische Anführungszeichen“ an der Stelle, an der das erste solche Zeichen steht.
- Postleitzahlen mit führender Null. PLZ in Sachsen und Thüringen beginnen mit 0 (Dresden 01067), und JSON verbietet führende Nullen:
{"plz": 01067}ergibt „Ungültige Zahl“. Speichern Sie PLZ, Telefonnummern und IBANs als String ("01067") – es sind Codes, keine Beträge.
Häufige JSON-Fehler und wie Sie sie beheben
| Fehler | Ungültig | Gültig |
|---|---|---|
| Komma am Ende | {"a": 1, "b": 2,} | {"a": 1, "b": 2} |
| Einfache Anführungszeichen | {'name': 'Lena'} | {"name": "Lena"} |
| Eigenschaftsname ohne Anführungszeichen | {name: "Lena"} | {"name": "Lena"} |
| Kommentar | {"port": 80 // web} | {"port": 80} |
| Komma fehlt | [1 2 3] | [1, 2, 3] |
| Werte aus Python oder JavaScript | {"x": None, "y": True, "z": undefined} | {"x": null, "y": true, "z": null} |
| Einzelner Backslash | {"pfad": "C:\Users"} | {"pfad": "C:\\Users"} |
| Mehrere Werte hintereinander | {"a": 1} {"b": 2} | [{"a": 1}, {"b": 2}] |
Fehlt eine schließende Klammer, bemerkt der Parser das erst ganz am Ende. „JSON endet unerwartet“ zeigt deshalb auf die letzte Zeile, obwohl die vergessene } oder ] weiter oben hingehört. Am schnellsten finden Sie sie, wenn Sie den gültigen Teil formatieren und schauen, wo die Einrückung nicht mehr stimmt.
Rechenbeispiel: wie viel die Einrückung kostet
Das Beispiel im Feld ist eine einzeilige Bestellung aus einem Onlineshop mit 345 Bytes, 19 Schlüsseln und 4 Ebenen Verschachtelung. In UTF-8 belegen Umlaute und ß je 2 Bytes. Formatiert hat es 28 Zeilen:
| Ausgabe | Größe |
|---|---|
| Minifiziert | 345 Bytes |
| Tab | 466 Bytes |
| 2 Leerzeichen | 541 Bytes |
| 4 Leerzeichen | 691 Bytes |
Mit Tabs bleibt formatiertes JSON am kleinsten, weil jede Ebene nur ein Byte kostet. Bei Dateien, die Menschen lesen und bearbeiten, ist die Lesbarkeit die zusätzlichen Bytes meist wert; JSON, das in großen Mengen übertragen oder gespeichert wird, sollten Sie minifizieren.
Grenzen und Tipps
- Große Dateien: Ein JSON von 1 MB wird auf einem üblichen Laptop in etwa einer Sekunde geprüft und formatiert, und das lange Ergebnis lässt sich flüssig scrollen. Für Dateien mit vielen Megabytes ist ein Kommandozeilenwerkzeug wie jq bequemer.
- JSON Lines (NDJSON) enthält einen JSON-Wert pro Zeile und ist kein einzelnes Dokument. Fügen Sie eine Zeile nach der anderen ein oder fassen Sie die Zeilen in
[ ]mit Kommas dazwischen zusammen. - JSON5 und „JSON mit Kommentaren“, wie sie manche Konfigurationsdateien nutzen, erlauben Kommentare und Kommas am Ende. Standard-JSON nicht – hier erscheinen sie als Fehler.
- Angezeigt wird nur der erste Fehler. Beheben Sie ihn, und der nächste erscheint, falls vorhanden, sofort.
- Um die Schreibweise von Schlüsseln zu ändern, hilft Groß- und Kleinschreibung umwandeln; Länge und Bytes eines Strings misst Zeichen zählen.
Ihr JSON bleibt auf Ihrem Gerät
Formatieren und Validieren laufen in Ihrem Browser. JSON enthält oft API-Schlüssel, Tokens oder Kundendaten – nichts davon wird hochgeladen oder protokolliert. Gespeichert wird es auch nicht: Nach dem Neuladen der Seite ist das Feld leer. Das ist auch mit Blick auf die DSGVO angenehm, weil keine personenbezogenen Daten an Dritte gehen.
Häufige Fragen
Wird mein JSON an einen Server geschickt?
Nein. Die Seite formatiert und prüft es mit JavaScript in Ihrem Browser, eignet sich also auch für vertrauliche Daten und funktioniert nach dem Laden sogar offline.
Warum ist mein JSON ungültig, obwohl es in JavaScript funktioniert?
JavaScript-Objektliterale erlauben Dinge, die JSON nicht erlaubt: Namen ohne Anführungszeichen, einfache Anführungszeichen, Kommas am Ende, Kommentare, undefined und Funktionen. JSON ist ein strengeres Datenformat, damit jede Programmiersprache es gleich liest.
Was bedeutet „JSON endet unerwartet“?
Der Text endete, während noch etwas offen war – meist fehlt eine } oder ], oder einem String fehlt das schließende Anführungszeichen. Es kann auch heißen, dass der Text beim Kopieren abgeschnitten wurde.
Darf ich in JSON ein Dezimalkomma verwenden?
Nein, nicht in Zahlen: Das Dezimaltrennzeichen ist der Punkt (12.50). Ein Komma trennt Werte, deshalb ist 12,50 in einem Objekt ein Fehler und in einem Array unbemerkt zwei Zahlen. Wer die Schreibweise mit Komma braucht, speichert sie als String: "12,50".
Ändert das Sortieren der Schlüssel meine Daten?
Nein. RFC 8259 definiert ein Objekt als ungeordnete Sammlung von Name-Wert-Paaren, die Reihenfolge der Schlüssel hat also keine Bedeutung. Arrays sind geordnet, ihre Elemente werden deshalb nie sortiert.
Zuletzt aktualisiert: 16. Oktober 2026