JSONL-Viewer
JSONL-Dateien (zeilengetrenntes JSON) in einer paginierten Tabelle anzeigen. Bis zu tausende Zeilen einfügen, durchsuchen, filtern, einzelne Records aufklappen. Dateien verlassen den Browser nie.
Wozu ist das gut?
JSONL (auch NDJSON — newline-delimited JSON) ist das De-facto-Format für LLM-Trainingsdaten, Audit-Logs, Event-Streams und Batch-API-Outputs. Ein JSON-Objekt pro Zeile, kein umschließendes Array. Append-freundlich, zeilenweise parsbar und übersteht teilweise Korruption. Es als Mensch zu lesen ist allerdings schmerzhaft — du willst eine Tabelle, kein Mauer aus geschweiften Klammern. Dieses Tool liefert dir diese Tabelle im Browser. Nichts wird hochgeladen; die Datei wird mit FileReader des Browsers gelesen und an Ort und Stelle geparst.
Wann nützlich
- LLM-Trainingsdaten inspizieren. Ein Fine-Tuning-Dataset ist typisch
{"messages": [...]}pro Zeile. Über das Korpus überfliegen, Klassenbalance prüfen, die eine Ausreißer-Zeile finden, die den Trainer scheitern lässt. - OpenAI- / Anthropic-Batch-Outputs lesen. Beide liefern Batch-Ergebnisse als JSONL — eine Zeile pro Request, mit Status und Inhalt. Auf einen Blick sehen, welche Requests durchkamen.
- Audit-Logs reviewen. Application Logs als JSONL sind verbreitet; dieses Tool zeigt sie als Tabelle für Ad-hoc-Analyse.
- Event-Streams sanity-checken. Kafka- / Kinesis-Dumps landen oft als JSONL. Schnelle paginierte Ansicht, ohne jq.
- JSONL → CSV konvertieren. Der Export-Button hilft, die Daten in eine Tabellenkalkulation zu kippen.
Wie das Parsing funktioniert
- Jede nicht-leere Zeile wird unabhängig als JSON geparst. Leere Zeilen werden ignoriert.
- Schlägt eine Zeile fehl, erscheint sie als rote Zeile mit dem Parse-Fehler — der Rest der Datei läuft weiter. Absicht: eine kaputte Zeile soll nicht die anderen tausend kosten.
- Spalten werden aus der Vereinigung der Keys in den ersten 100 gültigen Zeilen erkannt, sortiert nach Häufigkeit. Seltene Keys nach Zeile 100 sind weiter in den Daten, bekommen aber keine eigene Spalte.
- Verschachtelte Objekte und Arrays erscheinen als gekürzter JSON-Schnipsel in der Zelle. Auf die Zeile klicken zeigt die vollständige hübsch gedruckte Version.
Typische Stolperfallen
- JSON-Array ≠ JSONL. Sieht deine Datei aus wie
[{...}, {...}, {...}]mit Kommas, ist das ein JSON-Array, kein JSONL. Klammern raus, Kommas durch Zeilenumbrüche ersetzen — oder einen JSON-Viewer nehmen. - Pretty-printed JSON ist kein JSONL. Streckt sich jedes "Objekt" über mehrere Zeilen, sieht der Parser nur Fragmente. JSONL ist strikt ein Objekt pro Zeile.
- Gemischte Zeilen-Formen sind okay, aber unübersichtlich. Wenn die Hälfte deiner Zeilen
contenthat und die anderetext, gibt's zwei Spalten und viele Leerstellen. Oft gewollt; manchmal Zeichen für einen Daten-Bug. - Sehr große Dateien. Alles wird im Speicher geparst; ~50–100 MB sind auf modernen Laptops in Ordnung, darüber wird's träge. Für Multi-GB-Logs lieber ein Streaming-CLI-Tool.
- Privacy. Dateien verlassen die Seite nie. FileReader liest Bytes ins JS-RAM; kein Netzwerk-Request.