TK TaskKit
Developer-Tools

JSON-Formatter

JSON formatieren, minimieren, validieren, reparieren und sortieren. JSONPath-Abfragen, Inline-Bearbeitung, CSV-Export und teilbare Permalinks — alles im Browser.

Eingabe
Ergebnis
JSON einfügen oder eine .json-Datei ablegen.
Auf beliebiger Seite formatieren (Bookmarklet)

Diesen Button in die Lesezeichenleiste ziehen. Auf jeder Seite anklicken, um die Auswahl (oder den Seitentext) zu TaskKit zur Formatierung zu schicken. Gleicher Origin — kein Drittanbieter-Traffic.

JSON formatieren

Eingaben bleiben auf diesem Gerät. Alle Developer-Tools auf TaskKit laufen vollständig im Browser. Tokens, Payloads und eingefügte Texte werden weder an TaskKit noch an Dritte übertragen.

Was dieses Tool macht

Ein JSON-Formatter, der JSON im Browser lesbar formatiert, minifiziert, validiert, repariert und abfragt. Bei Syntaxfehlern wird die exakte Zeile und Spalte angezeigt; Drag-and-Drop für Dateien funktioniert; deine letzte Eingabe bleibt über Reloads erhalten; mehrstellige Megabyte werden ohne Tab-Freeze gerendert. Alles läuft lokal — kein Server-Roundtrip, kein Upload.

Über das Formatieren hinaus bietet das Tool JSONPath-Abfragen zum Herauspicken einzelner Werte, eine interaktive Baumansicht mit Inline-Bearbeitung, Sort-Keys für stabile Diffs, einen "Repair"-Durchlauf für die JSON-mit-Trailing-Commas-und-Kommentaren, die deine Config-Datei tatsächlich enthält, CSV-Export für Arrays von Objekten und einen Permalink, der deine Eingabe in die URL kodiert, damit du eine exakte Ansicht mit einem Teamkollegen teilen kannst.

Wann du es brauchst

  • Lesen einer API-Antwort, die als eine minifizierte Zeile zurückkam.
  • Aufräumen einer Config-Datei vor dem Commit.
  • Bestätigen, dass eine Payload, die du POSTen willst, tatsächlich valides JSON ist.
  • Einen einzelnen Wert aus einem tief verschachtelten Dokument mit einer JSONPath-Expression wie $.users[?(@.role=='admin')].email herausziehen.
  • Ein Array von Records als CSV für eine Tabelle exportieren.
  • Eine problematische Payload per Permalink an einen Teamkollegen weitergeben, ohne das JSON in Slack zu pasten.
  • Vergleichen zweier JSON-Dokumente (auf beiden Sort-Keys, dann den Diff Checker auf das Ergebnis anwenden).

Wie es funktioniert

Der strikte Parser ist das eingebaute JSON.parse des Browsers — strikt nach RFC 8259: keine Trailing-Commas, keine Kommentare, keine ungequoteten Keys, keine einfachen Anführungszeichen. Schlägt das Parsen fehl, mappen wir die Position aus der nativen Fehlermeldung auf Zeile und Spalte zurück, damit du keine Klammern zählen musst. Pretty-Print nutzt JSON.stringify(value, null, 2), Minify nutzt JSON.stringify(value) — dieselben Primitiven wie deine Runtime.

Der Repair-Durchlauf ist bewusst separat: Er entfernt Zeilen- und Block-Kommentare, entfernt Trailing-Commas und normalisiert typografische Anführungszeichen zu geraden, dann läuft der strikte Parser über das Ergebnis. Er versucht nicht, an ungequoteten Keys zu raten oder fehlende Klammern zu erfinden — wenn ein Dokument strukturell kaputt ist, sollst du das wissen.

Sort-Keys läuft rekursiv durch den Baum und gibt jedes Objekt mit lexikografisch geordneten Keys neu aus. Arrays behalten ihre Reihenfolge. Das ist der Trick für einen stabilen Diff zwischen zwei API-Antworten, die sich nur in der Key-Reihenfolge unterscheiden.

JSONPath-Abfragen werden gegen das geparste Dokument ausgewertet. Treffer werden in der Baumansicht hervorgehoben und im Ergebnis-Panel aufgelistet. Filter-Ausdrücke (?()), Wildcards (*), rekursiver Abstieg (..) und Array-Slices ([start:end]) werden unterstützt.

Baum-Bearbeitung erlaubt dir, einen Wert per Klick direkt zu ändern. Änderungen werden auf die geparste Struktur angewendet und zurück in das Textfeld serialisiert, sodass formatierte Ausgabe und Baum nie auseinanderlaufen. Der Aufklapp-Zustand bleibt über Re-Renders erhalten, damit du beim Speichern nicht deinen Platz verlierst.

CSV-Export flacht ein Array von Objekten in eine Header-Zeile plus Werte-Zeilen ab. Verschachtelte Felder sind über Dot-Paths erreichbar. Strings mit Kommas, Anführungszeichen oder Zeilenumbrüchen werden gemäß RFC 4180 escaped.

Permalinks kodieren die Eingabe in das URL-Fragment mit Base64 + LZ-Kompression, sodass das JSON selbst nie einen Server berührt. Das Fragment passt für typische Payloads (wenige KB) bequem in die Adressleiste; sehr große Dokumente bleiben lokal und die Permalink-Option wird ausgegraut.

Hinweise

Warum scheitert eine kopierte API-Antwort beim Parsen? Browser und Terminals fügen manchmal typografische Anführungszeichen (" und ") statt gerade (") ein. JSON erfordert gerade. Der strikte Parser landet den Fehlerindikator auf dem ersten typografischen Zeichen, oder der Repair-Durchlauf normalisiert sie für dich.

Werden große Dateien unterstützt? Ja. Der Parser bewältigt mehrstellige Megabyte und die Baumansicht virtualisiert das Rendering, sodass selbst ein 50-MB-Array scrollbar bleibt. Darüber hinaus kann der Main-Thread beim Parse-Schritt kurz einfrieren; in dieser Größenordnung lieber einen Streaming-Parser wie stream-json in Node.

Warum ist mein JSONPath-Ergebnis leer? JSONPath-Ausdrücke sind case-sensitiv und müssen mit $ für die Wurzel beginnen. Filter-Ausdrücke brauchen ein führendes @ für den aktuellen Knoten — $.users[?(@.role=='admin')] nicht $.users[?(role=='admin')].

Werden meine Daten beim Permalink offengelegt? Nein. Die kodierte Payload sitzt im URL-Fragment (dem Teil nach #), den Browser nicht an Server senden. Wenn du den Permalink teilst, dekodiert ihn der Browser des Empfängers lokal; TaskKit sieht ihn nie.

Sieht dieses Tool meine Daten? Nein. Parsing, Formatierung, JSONPath-Auswertung, Repair und CSV-Export passieren alle in deinem Tab. Es gibt keinen Upload, keine Analyse der Inhalte und keine Vorschau, die Text an einen Server schickt.

Verwandte Tools