ToolActToolAct

CSV-zu-JSON-Konverter

CSV-Datei hochladen oder Daten einfügen, um ins JSON-Format zu konvertieren

CSV-Datei hier ablegen oder klicken zum Auswählen

Was ist CSV zu JSON?

CSV zu JSON ist ein Online-Datenformat-Konvertierungstool, das CSV-Daten (Comma-Separated Values) in das JSON-Format (JavaScript Object Notation) konvertiert.

CSV ist ein gängiges tabellarisches Datenformat, das weit verbreitet in Tabellenkalkulationen und Datenbankexporten verwendet wird. JSON ist das beliebteste Datenaustauschformat in modernen Webanwendungen, bekannt für seine klare Struktur und einfache Analyse.

Mit diesem Tool können Sie CSV-Daten schnell in JSON-Arrays oder -Objekte konvertieren und in der Programmierung und Datenverarbeitung verwenden.

CSV zu JSON wirkt einfach, aber Trennzeichen, Quotes, Zeilenumbrüche in Feldern, leere Werte und Zeichencodierung entscheiden über die Qualität des Ergebnisses. Spaltenüberschriften werden meist zu JSON-Schlüsseln, daher sollten doppelte oder unklare Namen vorher bereinigt werden. Für APIs oder Datenmigrationen müssen Datentypen, Zahlenformate, Datumswerte und null-Regeln anschließend geprüft werden.

Anleitung

Anleitung

  1. CSV-Daten in das linke Eingabefeld einfügen oder eingeben
  2. Passendes Trennzeichen wählen (Komma ist Standard)
  3. Wählen Sie, ob die erste Zeile als Feldnamen verwendet werden soll
  4. Das rechte Panel generiert automatisch das JSON-Ergebnis

CSV-Parsing-Hinweise

  • Überprüfen Sie Trennzeichen, Anführungszeichenbehandlung und Kopfzeileneinstellungen, bevor Sie der JSON-Ausgabe vertrauen.
  • Große CSV-Dateien können Leerzeilen, eingebettete Kommas oder Zeilenumbrüche in Anführungszeichen gesetzten Zellen enthalten. Prüfen Sie nach der Konvertierung einige Zeilen in der Vorschau.

Anwendungsfälle

Hochgeladene CSV- oder TSV-Dateien in JSON-Arrays konvertierenEine .csv-, .tsv- oder .txt-Datei per Drag-and-Drop oder Auswahl einfügen, Trennzeichen wählen (Komma, Tabulator, Semikolon oder Pipe) und entscheiden, ob die erste Zeile zu Objektschlüsseln werden soll oder die Ausgabe als Arrays bleiben soll. Die Datei wird im Browser mit FileReader gelesen, lokal mit einem Streaming-Tokenizer geparst und nie hochgeladen, sodass Kunden- oder interne Exporte das Gerät nie verlassen.
Zeilen- und Feldanzahlen vor der Nutzung des JSON prüfenDie angezeigte Dateiname, Zeilenanzahl, Feldanzahl und hervorgehobene JSON-Ausgabe nutzen, um Trennzeichenfehler, fehlende Kopfzeilen oder leere Zeilen zu erkennen, bevor man in Mocks oder Skripte kopiert. Die Ausgabe ins tatsächliche Ziel einfügen und prüfen, ob das empfangende System sie genauso interpretiert.
Einfache CSV mit Anführungszeichen im Browser verarbeitenDer Parser unterstützt Felder in Anführungszeichen, verdoppelte Escape-Anführungszeichen und die vier gängigen Trennzeichen, was ihn für kleine Exporte und Testdaten geeignet macht. Dateien werden vollständig im Browser-Speicher verarbeitet, sodass auch sensible HR-, Finanz- oder Staging-Snapshots umgeformt werden können, ohne die Daten übers Netzwerk zu senden.
Typinformationen beim Senden an typisierte APIs bewahrenNach der Konvertierung die Ausgabe nach Feldern durchsuchen, die Zahlen, Booleans, Daten oder nulls statt Strings sein sollten, und das Array vor dem Senden an REST- oder GraphQL-Endpunkte nachbearbeiten. CSV hat keine nativen Typen, daher reicht ein kurzer visueller Überblick über die ersten Zeilen, um gequotete IDs und nullgestützte Codes zu erkennen.
Fehlerhafte Zeilen vor dem Push in Mocks oder Fixtures erkennenDie Zeilen-/Feldanzahl und Parsing-Fehler nutzen, um Zeilen zu markieren, die nicht der erwarteten Spaltenanzahl entsprechen, und die CSV-Quelle zu korrigieren, statt fehlerhafte Zeilen in die Mock-JSON einsickern zu lassen. Die Vorschau stoppt bei der ersten inkonsistenten Zeile, sodass das Trennzeichen korrigiert oder ein fehlendes Anführungszeichen ergänzt werden kann.

Technisches Prinzip

Das CSV-Parsing folgt der IETF RFC 4180-Grammatik: Jeder Datensatz endet mit CRLF (einige Dialekte akzeptieren LF oder CR), jeder Datensatz enthält Felder, getrennt durch ein Trennzeichen (Komma in RFC, aber TSV, Semikolon und Pipe sind weit verbreitete Varianten), und jedes Feld, das das Trennzeichen, CR, LF oder ein doppeltes Anführungszeichen enthält, MUSS in doppelte Anführungszeichen eingeschlossen werden, wobei interne doppelte Anführungszeichen durch Verdopplung escaped werden (Hallo "Welt" wird zu "Hallo ""Welt"""). Der Parser dieser Seite ist eine Zustandsmaschine mit vier Zuständen - field_start, in_unquoted, in_quoted, after_quote - und verarbeitet die Eingabe in einem einzigen O(n)-Durchlauf über den Zeichenstrom, sodass eine 10 MB CSV mit 100.000 Zeilen auf einem typischen Laptop in deutlich unter einer Sekunde fertig ist, ohne jemals ein intermediäres Token-Array pro Zeile zu allozieren. Die Kodierung erfordert explizite Behandlung: Ein UTF-8 BOM (EF BB BF) am Dateianfang wird vor dem Parsen entfernt, sonst würde der erste Kopfzeilenname unsichtbar mit dem U+FEFF-Codepunkt beginnen und nachfolgende JSON.parse-Gleichheitsprüfungen würden fehlschlagen. Excel-Exporte unter Windows verwenden noch CRLF und oft UTF-8 mit BOM, während macOS Numbers und die meisten Unix-Tools standardmäßig LF ohne BOM verwenden. Europäische Tabellenkalkulationen exportieren häufig semikolon-getrennte Dateien, weil das Komma in vielen Locales ein Dezimaltrennzeichen ist (49,90 EUR statt 49.90), weshalb der Trennzeichen-Selektor standardmäßig auf Komma steht, aber Tabulator, Semikolon und Pipe als erstklassige Optionen anbietet. Der Schalter "Erste Zeile als Kopfzeile" ändert die Ausgabestruktur von einem Array von Objekten (Kopfzeilenschlüssel -> String-Werte) zu einem Array von Arrays und entspricht so den beiden gängigen Aufnahmemustern für nachgelagerten Code. Feldwerte werden als Strings ausgegeben, nicht als abgeleitete Typen - CSV hat kein Schema, daher bleiben 01234 (eine nullgepufferte ID), 1e10 (eine telefonnummerartige Zeichenkette, die JSON.parse zu einer Zahl koerzieren würde) und 2024-13-45 (ein fehlerhaftes Datum) unverändert. Das ist beabsichtigt: Eine nachgelagerte typisierte API kann zod, Joi oder eine handgebaute Koerzierungsschicht mit expliziten Regeln anwenden, aber sie kann eine führende Null nicht wiederherstellen, die der Konverter bereits entfernt hat. Die Ausgabe wird über JSON.stringify(rows, null, 2) erzeugt und durch einen Syntax-Highlighter gerendert; die Quell-CSV wird mit FileReader.readAsText() auf einem Blob gelesen und nie an ein Backend hochgeladen, sodass HR-Exporte, Finanzbuchhaltungen und Kundenlisten umgeformt werden können, ohne die Browser-Sitzung zu verlassen.

  • RFC 4180-Grammatik: Felder mit Trennzeichen/CR/LF/" müssen gequotet werden; interne Anführungszeichen als "" verdoppelt.
  • Einzel-Durchlauf O(n)-Zustandsmaschine mit Zuständen: field_start, in_unquoted, in_quoted, after_quote.
  • UTF-8 BOM (EF BB BF / U+FEFF) wird am Dateianfang entfernt, um Kopfzeilenschlüssel sauber zu halten.
  • Europäische Tabellenkalkulationen verwenden oft ; als Trennzeichen, da , das Dezimaltrennzeichen in den Locale-Einstellungen ist.
  • Erste-Zeile-als-Kopfzeile schaltet die Ausgabe zwischen Array<Record<string,string>> und Array<Array<string>> um.
  • Alle Feldwerte bleiben Strings; nullgepufferte IDs wie 01234 überleben nur, weil keine Tyinferenz läuft.
  • FileReader.readAsText() verarbeitet den Blob lokal; nichts wird hochgeladen - sicher für HR/Finanz-/Staging-Exporte.

Beispiele

Einfache CSV mit Kopfzeile -> JSON-Array von Objekten

CSV-Eingabe:
name,age,city
Alice,28,New York
Bob,35,London
Carol,42,Tokyo

JSON-Ausgabe:
[
  { "name": "Alice", "age": "28", "city": "New York" },
  { "name": "Bob",   "age": "35", "city": "London"   },
  { "name": "Carol", "age": "42", "city": "Tokyo"    }
]

Felder in Anführungszeichen mit eingebetteten Kommas

CSV-Eingabe:
id,product,description
1,"Notebook, A5","Hard cover, 200 pages"
2,Pen,"Black ink, 0.5mm"

JSON-Ausgabe:
[
  { "id": "1", "product": "Notebook, A5", "description": "Hard cover, 200 pages" },
  { "id": "2", "product": "Pen",          "description": "Black ink, 0.5mm" }
]

TSV (tabulatorgetrennt) ohne Kopfzeile

TSV-Eingabe (Trennzeichen = Tab, Kopfzeile aus):
101	Alice	98.5
102	Bob	87.0
103	Carol	92.3

JSON-Ausgabe:
[
  ["101", "Alice", "98.5"],
  ["102", "Bob",   "87.0"],
  ["103", "Carol", "92.3"]
]

Semikolon als Trennzeichen (europäische Tabellenexporte)

CSV-Eingabe (Trennzeichen = ;):
product;price_eur;stock
Keyboard;49,90;120
Mouse;19,90;345

JSON-Ausgabe:
[
  { "product": "Keyboard", "price_eur": "49,90", "stock": "120" },
  { "product": "Mouse",    "price_eur": "19,90", "stock": "345" }
]
Hinweis: Zahlen bleiben als Zeichenketten – konvertieren Sie sie in Ihrem nachgelagerten Code.

FAQ

Welche CSV-Varianten werden unterstützt?

Standard-CSV nach RFC 4180: Komma als Trenner, doppelte Anführungszeichen zur Feldquotierung, doppelte doppelte Anführungszeichen als Escape. Tab-getrennte (TSV) und Semikolon-getrennte CSVs funktionieren über die Wahl eines anderen Trenners. Verschiedene Zeilenumbrüche (LF/CRLF/CR) werden automatisch verarbeitet.

Wie werden Header behandelt?

Wenn du 'Erste Zeile ist Header' aktivierst, verwendet der Parser jede Header-Zelle als JSON-Schlüssel der Spalte – das Ergebnis ist ein Array von Objekten. Ohne Header erzeugt der Parser ein Array von Arrays. Leere Header-Zellen erhalten einen numerischen Platzhalter-Schlüssel.

Wie werden Datentypen erkannt?

Standardmäßig ist alles ein String. Schalte 'Automatische Typen' ein, um Zahlen, Booleans (true/false) und null erkennen zu lassen. Zahlen mit führenden Nullen (00123, 0042) bleiben Strings, damit das Präfix erhalten bleibt – nutze das für IDs und Postleitzahlen.

Was, wenn ein Feld ein Komma oder einen Zeilenumbruch enthält?

Setze das Feld in doppelte Anführungszeichen: "Smith, John" oder "line one\nline two". Eingebettete doppelte Anführungszeichen werden verdoppelt: "He said ""hi""". Der Parser kann das alles; bricht eine Zeile, sind meist unausgeglichene Anführungszeichen die Ursache.

Läuft die Konvertierung lokal oder auf einem Server?

Lokal. Das Parsen läuft in deinem Browser per JavaScript. Eingefügtes CSV verlässt die Seite nicht. Sehr große Dateien können den Browser ausbremsen; übersteigt der Inhalt zig MB, vorher aufteilen.

Bleibt die Spaltenreihenfolge erhalten?

Ja – jede Zeile wird zu einem JSON-Objekt, dessen Schlüsselreihenfolge der CSV-Header-Reihenfolge entspricht, und JSON.stringify in modernen Engines erhält die Einfügereihenfolge. Liest dein nachgeschaltetes Tool JSON ohne Erhalt der Einfügereihenfolge, ist das dessen Einschränkung.

Wie gehe ich mit Datumsangaben um?

Datumsangaben bleiben Strings. Die Auto-Typ-Erkennung parst keine beliebigen Datumsformate, weil es keinen eindeutigen Standard gibt (1/2/2024 ist in den USA der 2. Januar, in Europa der 1. Februar). Konvertiere Datumsangaben vor dem Import in ISO 8601 (YYYY-MM-DD), wenn du nachgelagert native Date-Objekte brauchst.