tooloora

JSON-Formatter & Validator – lokal, mit Fehlerposition

JSON im Browser formatieren, minifizieren und validieren. Fehler werden mit Zeile, Spalte und Kontext-Ausschnitt angezeigt. Nichts wird hochgeladen.

Läuft lokal – nichts wird hochgeladen

Läuft lokal in deinem Browser – dein JSON wird nirgendwohin gesendet.

JSON formatieren, minifizieren und validieren

Füge JSON ein und erhalte es sofort formatiert (2 oder 4 Leerzeichen oder Tab), minifiziert oder validiert, mit alphabetisch sortierbaren Schlüsseln. Bei Fehlern zeigt das Tool Zeile, Spalte und einen Kontext-Ausschnitt mit Zeiger auf die Fehlerstelle. Alles läuft in deinem Browser: kein Upload, keine Anmeldung, funktioniert offline.

Warum sollte JSON nie in einen Online-Formatter mit Upload?

Was Entwickler in Formatter kopieren, ist selten harmlos: API-Antworten mit Session-Tokens, Konfigurationsdateien mit Schlüsseln, Exporte mit Kundendaten. Viele Web-Formatter schicken jede Eingabe an ihren Server, und was dort damit passiert, siehst du nicht. Dieses Tool parst ausschließlich lokal mit JSON.parse, dem eingebauten Parser deines Browsers. Es gibt schlicht keinen Server-Aufruf, den man mitschneiden könnte.

Wie findet das Tool die Fehlerstelle?

Browser melden JSON-Fehler je nach Engine unterschiedlich: mal mit Zeichenposition, mal mit Zeile und Spalte, mal nur mit einem Text-Ausschnitt. Das Tool versteht alle drei Formate, rechnet Positionen in Zeile und Spalte um und zeigt die betroffene Zeile mit einem ^-Zeiger darunter. Häufigste Ursachen: ein Komma nach dem letzten Element (in JSON verboten), einfache statt doppelter Anführungszeichen, unquotierte Schlüssel oder Kommentare, die JSON nicht kennt.

Was ist gültiges JSON?

Der Standard RFC 8259 (Dezember 2017) definiert JSON mit genau sechs Strukturzeichen ({ } [ ] : ,), vier primitiven Typen (String, Zahl, Boolean, Null) und zwei strukturierten Typen (Objekt, Array). Strings brauchen doppelte Anführungszeichen, Kommentare gibt es nicht, und Objekt-Schlüssel sind laut Standard ungeordnet. Deshalb ist das Sortieren der Schlüssel verlustfrei und praktisch, etwa um zwei JSON-Dokumente zeilenweise zu vergleichen.

Formatieren oder minifizieren, wann was?

  • Formatieren für Menschen: Code-Reviews, Debugging, Dokumentation. Einrückung mit 2 Leerzeichen ist der verbreitetste Stil.
  • Minifizieren für Maschinen: kleinste Übertragungsgröße für APIs, Konfigurationen und Speicherung. Der Inhalt bleibt identisch, nur Whitespace verschwindet.

Ehrliche Grenzen

Ab etwa 1 MB Ausgabe schaltet die Anzeige auf eine schlichte Textarea ohne Syntaxfarben um, damit die Seite reaktionsschnell bleibt. Eingaben über etwa 2 MB verarbeitet das Tool nicht, damit dein Browser-Tab nicht einfriert. Eine dritte Grenze betrifft nur das Einrücken: Jede Verschachtelungsebene fügt allen Zeilen darunter Einrückung hinzu, ein extrem tief verschachteltes Dokument wächst dadurch weit über seine Eingabegröße hinaus. Wo das etwa 32 Millionen Zeichen überschreiten würde, bricht das Tool ab, statt den Tab zu fluten; minifizieren funktioniert mit derselben Eingabe weiterhin. Für Riesen-Dateien nimm ein Kommandozeilen-Werkzeug wie jq.

Häufige Fragen

Wird mein JSON auf einen Server hochgeladen?

Nein. Parsen, Formatieren und Validieren laufen komplett in deinem Browser; das Tool funktioniert sogar offline. Das ist wichtiger als es klingt: In Online-Formatter kopiertes JSON enthält oft API-Schlüssel, Session-Tokens oder personenbezogene Daten, und viele Web-Formatter schicken alles Eingefügte an ihren Server. Hier verlässt nichts dein Gerät.

Was bedeuten Zeile und Spalte in der Fehlermeldung?

Wenn JSON.parse die Eingabe ablehnt, übersetzt das Tool den Engine-Fehler in eine 1-basierte Zeile und Spalte plus einen Kontext-Ausschnitt mit ^-Zeiger auf die Fehlerstelle. So springst du direkt zum Problem, statt das ganze Dokument abzusuchen.

Was ist der Unterschied zwischen Formatieren und Minifizieren?

Formatieren (Pretty-Print) fügt Zeilenumbrüche und Einrückung mit 2 oder 4 Leerzeichen oder Tabs ein, damit Menschen die Struktur lesen können. Minifizieren entfernt allen unbedeutenden Whitespace, damit die Daten für Übertragung oder Speicherung so klein wie möglich sind. Beide Ergebnisse sind semantisch identisches JSON.

Ändert das Sortieren der Schlüssel die Bedeutung meines JSON?

Nein. RFC 8259 definiert JSON-Objekte als ungeordnete Sammlungen von Name/Wert-Paaren, alphabetisches Sortieren hält die Daten also gleichwertig. Sortiere nur, wenn kein Konsument fälschlich von der Reihenfolge abhängt. Beachte außerdem: Doppelte Schlüssel werden vom Parser zusammengefasst, der letzte gewinnt.

Verändert das Formatieren meine Zahlen?

Nein. Das Tool setzt den Quelltext neu, statt geparste Werte neu auszugeben. Zahlen kommen deshalb exakt so zurück, wie du sie eingegeben hast. Wichtig wird das ab etwa 15 Stellen: JavaScript-Zahlen sind 64-Bit-Gleitkommazahlen, eine 20-stellige Bestellnummer oder ein Betrag mit vielen Nachkommastellen käme bei einem Formatter, der über JSON.parse und JSON.stringify geht, stillschweigend als andere Zahl zurück. Zeichenketten betrifft das nicht: Für Text ist derselbe Umweg verlustfrei, deshalb werden Escape-Sequenzen zu den Zeichen aufgelöst, für die sie stehen.

Gibt es eine Größen-Grenze?

Ja, ehrliche: Ab etwa 1 MB Ausgabe wechselt die Anzeige auf eine schlichte Textarea ohne Syntaxfarben, damit die Seite flüssig bleibt, und Eingaben über etwa 2 MB werden gar nicht verarbeitet, damit der Browser-Tab bedienbar bleibt. Das Einrücken hat eine eigene Grenze, weil jede Verschachtelungsebene allen Zeilen darunter Einrückung hinzufügt: Würde das formatierte Ergebnis etwa 32 Millionen Zeichen überschreiten, bricht das Tool ab, statt den Tab zu fluten, und minifizieren funktioniert mit derselben Eingabe weiterhin. Für Dateien mit hunderten MB ist ein Kommandozeilen-Tool wie jq die bessere Wahl.