Skip to content

CSV in JSON umwandeln (und zurück)

CSV ↔ JSON mit echtem RFC-4180-Parsing, vollständig in deinem Browser.

Buğra SözeriEntwickler
Updated · Published

CSV wirkt trivial — Werte, getrennt durch Kommas — und genau deshalb machen es so viele Konverter falsch. CSV aus der echten Welt hat zitierte Felder, die Kommas enthalten, maskierte Anführungszeichen als zwei doppelte Anführungszeichen, Zeilenumbrüche mitten in einer einzelnen Zelle und einen ganzen Zoo von Trennzeichen-Dialekten: Excel exportiert in den meisten europäischen Gebietsschemata mit Semikolons, weil das Komma dort das Dezimaltrennzeichen ist. Der Parser unten folgt RFC 4180 — dem, was CSV einem Standard am nächsten kommt — und erkennt Komma, Semikolon oder Tab als Trennzeichen automatisch. Alles läuft lokal in deinem Browser; deine Daten berühren nie einen Server.

[ { "name": "Doe, Jane", "city": "Berlin", "zip": "10115" }, { "name": "Bob", "city": "Princeton", "zip": "08540" } ]

How to use

  1. Richtung wählen

    CSV → JSON oder JSON → CSV. Das Ablegen einer .csv- oder .json-Datei auf die Eingabe wechselt die Richtung automatisch.

  2. Daten einfügen oder ablegen

    Füge Text direkt ein oder ziehe eine .csv- oder .json-Datei (bis 8 MB) auf das Eingabefeld. Die konvertierte Ausgabe erscheint während der Eingabe.

  3. Optionen anpassen

    Lass das Trennzeichen auf automatischer Erkennung, außer sie rät falsch. Deaktiviere 'Erste Zeile ist Kopfzeile' für Daten ohne Kopfzeile, und aktiviere 'Typen ableiten' nur, wenn deine Daten keine führenden Nullen oder langen numerischen IDs haben.

  4. Kopieren oder herunterladen

    Nutze den Kopieren-Button für schnelles Einfügen oder lade das Ergebnis als data.json oder data.csv herunter.

Frequently asked questions

Kann ich eine Datei hochladen, statt einzufügen?
Ja — ziehe eine .csv- oder .json-Datei auf das Eingabefeld. Sie wird lokal mit dem FileReader des Browsers gelesen (bis 8 MB) und nirgendwohin hochgeladen. Das Ablegen einer .json-Datei schaltet das Werkzeug außerdem in den Modus JSON → CSV.
Warum bleiben Zahlen standardmäßig Strings?
Weil stille Typumwandlung echte Daten beschädigt. Eine Postleitzahl wie 08540 verliert ihre führende Null, sobald sie zur Zahl wird, und eine 16-stellige ID wie eine Karten- oder Kontonummer überschreitet JavaScripts sicheren Ganzzahlbereich (2^53) und wird gerundet. Strings sind verlustfrei; aktiviere 'Typen ableiten' nur, wenn du weißt, dass deine Spalten wirklich numerisch oder boolesch sind.
Mein CSV verwendet Semikolons — funktioniert das?
Ja. Excel exportiert im deutschen, französischen, türkischen und in den meisten anderen europäischen Gebietsschemata semikolongetrennte Dateien, weil dort das Komma das Dezimaltrennzeichen ist. Die automatische Erkennung bewertet Komma, Semikolon und Tab anhand der ersten Datenzeile und wählt den Gewinner; du kannst ein Trennzeichen auch über das Auswahlmenü erzwingen.
Was ist mit Zeilenumbrüchen innerhalb einer Zelle?
Werden korrekt verarbeitet. Gemäß RFC 4180 darf ein in doppelte Anführungszeichen eingeschlossenes Feld Zeilenumbrüche, Kommas und Anführungszeichen (maskiert durch Verdopplung) enthalten. Der Parser verfolgt den Anführungszeichen-Zustand über Zeilen hinweg, statt naiv an Zeilenumbrüchen zu trennen — genau die Stelle, an der die meisten schnell zusammengeschusterten Konverter scheitern.
Wie wird verschachteltes JSON in CSV umgewandelt?
CSV ist flach, verschachtelte Objekte und Arrays lassen sich also nicht nativ abbilden. Dieses Werkzeug serialisiert jeden verschachtelten Wert mit JSON.stringify in seine Zelle — eine ehrliche Einschränkung statt eines verlustbehafteten Abflachungsversuchs. Wenn du Spalten-Abflachung mit Punktpfaden brauchst, strukturiere das JSON zuerst um.
Was passiert mit doppelten Spaltenüberschriften?
Doppelte Überschriftennamen werden durch ein Index-Suffix eindeutig gemacht: Eine zweite Spalte 'name' wird zu 'name_2', eine dritte zu 'name_3' und so weiter. Ohne das würden spätere Spalten frühere in den resultierenden Objekten stillschweigend überschreiben.

About

RFC 4180 in der Praxis vs. die Dialekte in freier Wildbahn

RFC 4180 ist ein informatives Memo von 2005, kein strikter Standard, aber es hat den vernünftigen Kern festgeschrieben: Felder durch Kommas getrennt, Datensätze durch CRLF, Felder mit Kommas, Anführungszeichen oder Zeilenumbrüchen in doppelte Anführungszeichen eingeschlossen und literale Anführungszeichen durch Verdopplung maskiert. In freier Wildbahn ist man sich über fast alles andere uneinig — Semikolon- und Tab-Trennzeichen, reine LF-Zeilenenden, optionale abschließende Zeilenumbrüche, Byte-Order-Marks aus Excel und Dateien ohne Kopfzeile. Ein robuster Konverter akzeptiert die Dialekte bei der Eingabe (dieser erkennt Trennzeichen automatisch und akzeptiert sowohl CRLF als auch LF) und gibt streng konforme Ausgabe aus.

Wann CSV JSON schlägt — und umgekehrt

CSV gewinnt bei flachen, tabellarischen Daten: Es ist kleiner, streamt Zeile für Zeile, öffnet sich direkt in Excel und Google Sheets und lässt sich in jede Datenbank und jede jemals geschriebene Dataframe-Bibliothek laden. JSON gewinnt in dem Moment, in dem deine Daten Struktur bekommen — Verschachtelung, Arrays ungleicher Länge, typisierte Werte oder optionale Felder. Es ist außerdem selbstbeschreibend und eindeutig bei Strings versus Zahlen, was CSV grundsätzlich nicht ist. Eine nützliche Faustregel: Ist es eine Tabelle, liefere CSV; ist es ein Baum, liefere JSON; ist es heute eine Tabelle, könnte aber Struktur entwickeln, liefere JSON und nimm die Größenkosten in Kauf.

Sources & references

Authoritative references behind the math, constants, and tables on this page. Verified by Buğra Sözeri on the dates shown and re-checked at every deploy.

Verwandte Werkzeuge