Zum Inhalt springen
ConvertOwl
Formate5 Min. LesezeitGeschrieben von ConvertOwl

CSV oder JSON: Was Solltest Du Nutzen, und Warum?

Ein verständlicher Vergleich von CSV und JSON: Struktur, Lesbarkeit und welches Format wirklich zu deinen Daten passt.

Pixel-Art-Eule steht unter einem Nachthimmel zwischen einer CSV-Tabellendatei und einer JSON-Codedatei und überlegt, welche sie wählen soll

Du exportierst einen Bericht, und er kommt als .csv an. Du rufst eine API auf, und die Antwort kommt als .json zurück. Beides sind einfach nur Textdateien, die Daten enthalten, warum sehen sie also so unterschiedlich aus, und warum spielt es eine Rolle, welche man in der Hand hat? Kurz gesagt: CSV ist eine flache Tabelle, JSON ist eine Baumstruktur, und genau dieser eine strukturelle Unterschied entscheidet über fast alles andere bei der Wahl zwischen beiden.

Wenn du die Datei schon hast und sie nur ins jeweils andere Format bringen musst, erledigen unser CSV-zu-JSON-Konverter und unser JSON-zu-CSV-Konverter die Umwandlung sofort im Browser, ganz ohne Upload. Dieser Beitrag erklärt das "Warum" hinter der Wahl.

Was CSV eigentlich ist#

CSV (Comma-Separated Values) besteht nur aus Zeilen und Spalten, mehr nicht. Jede Zeile ist ein Datensatz, jedes Komma trennt ein Feld, und die erste Zeile ist meist eine Kopfzeile, die jede Spalte benennt:

name,age,city
Alice,29,Boston
Bob,34,Denver

Das ist das gesamte Format. Es gibt keine Möglichkeit, einen Datensatz in einen anderen zu verschachteln, keine standardisierte Art zu sagen "dieses Feld ist eigentlich eine Liste aus drei Werten", und auch keine standardisierte Art, den Typ eines Wertes zu kennzeichnen: 29 und "29" sehen identisch aus, jedes Programm muss also raten, ob es sich um eine Zahl oder Text handelt. Die Stärke von CSV liegt genau in dieser Einfachheit, die es universell lesbar macht: Excel, Google Sheets, Numbers und so gut wie jedes Datenbank-Importwerkzeug verstehen es ohne jede Einrichtung sofort.

Was JSON eigentlich ist#

JSON (JavaScript Object Notation) stellt Daten als verschachtelte Objekte und Arrays dar, mit expliziten Typen:

{
  "name": "Alice",
  "age": 29,
  "city": "Boston",
  "hobbies": ["reading", "hiking"]
}

Achte darauf, was CSV hier nicht kann: hobbies ist eine Liste innerhalb eines einzelnen Datensatzes, age ist eindeutig eine Zahl, und würde man ein Feld address brauchen, das selbst wieder ein Objekt mit street und zip ist, verschachtelt JSON das ganz natürlich. Genau deshalb wurde JSON zum Standardformat für APIs: reale Daten (ein Nutzer mit mehreren Telefonnummern, eine Bestellung mit mehreren Positionen) sind selten flach, und JSON kann diese Struktur direkt abbilden.

Der zentrale Kompromiss#

CSVJSON
StrukturNur flache Zeilen und SpaltenVerschachtelte Objekte und Arrays
DatentypenKeine, alles ist TextStrings, Zahlen, Booleans, null, Arrays, Objekte
Lesbarkeit für MenschenHervorragend in einer TabelleBei kleinen Dateien gut, bei großen unübersichtlich
Am besten geöffnet mitExcel, Google SheetsEinem Code-Editor oder einem JSON-Formatierer
Typische QuelleDatenbank-Exporte, Tabellenkalkulationen, AnalyseberichteAPIs, Konfigurationsdateien, App-Daten
Dateigröße für dieselben DatenKleiner, Feldnamen wiederholen sich nichtGrößer, jeder Datensatz wiederholt seine Feldnamen

Die letzte Zeile überrascht viele: Weil JSON "name":, "age": und "city": in jedem einzelnen Datensatz wiederholt, ist eine JSON-Datei mit derselben Tabelle in der Regel 30 bis 50% größer als die entsprechende CSV-Datei. Dieser Mehraufwand kauft Struktur und Typen; wenn man nur eine flache Tabelle hat, zahlt man diesen Preis für nichts.

Wann CSV die richtige Wahl ist#

  • Die Datei geht an jemanden ohne technischen Hintergrund. Jeder kann eine CSV-Datei in Excel öffnen und sofort verstehen; eine JSON-Datei wirkt auf die meisten Menschen einfach wie Code.
  • Die Daten sind wirklich flach. Eine Kundenliste, ein Verkaufsbericht, eine Bestandszählung: ein Datensatz, eine Zeile, keine Verschachtelung nötig.
  • Es geht in eine Tabellenkalkulation oder eine klassische Datenbanktabelle. Beide sind von ihrem Design her Zeilen-und-Spalten-Werkzeuge, und CSV passt direkt darauf.
  • Die Dateigröße spielt eine Rolle und die Daten sind einfach. Keine wiederholten Feldnamen bedeuten eine kleinere Datei für dieselbe Information.

Wann JSON die richtige Wahl ist#

  • Die Daten haben eine Struktur, die sich nicht sauber abflachen lässt. Eine Bestellung mit mehreren Positionen, ein Nutzer mit mehreren Adressen, eine Einstellungsdatei mit verschachtelten Abschnitten.
  • Es wird mit einer API gearbeitet. So gut wie jede moderne Web-API sendet und empfängt JSON; es ist der De-facto-Standard des Formats, und alles gewaltsam in CSV zu pressen kostet meist mehr Arbeit, als es spart.
  • Typen sind für das Programm wichtig. Wenn der Code ohne zusätzliches Parsen wissen muss, dass 29 eine Zahl und nicht die Zeichenkette "29" ist, bringt JSON diese Information bereits mit.
  • null oder optionale Felder werden gebraucht. CSV hat keine saubere Möglichkeit, "dieses Feld ist hier nicht anwendbar" darzustellen; JSON hat null eingebaut.

Zwischen beiden umwandeln#

Kein Format ist grundsätzlich besser, deshalb ist das Hin- und Herkonvertieren normal und kein Notbehelf. Ein paar typische Fälle:

  • Eine API-Antwort kam als JSON, muss aber in Excel geöffnet werden? JSON zu CSV verwenden. Tief verschachtelte Felder (ein Array innerhalb eines Objekts) werden dabei so gut wie möglich abgeflacht, also das Ergebnis bei mehr als einer Verschachtelungsebene prüfen.
  • Eine Tabelle wurde als CSV exportiert, muss aber in eine App, die JSON erwartet? CSV zu JSON verwandelt jede Zeile in ein Objekt und nutzt dafür die Kopfzeile als Feldnamen.
  • Es muss nur eine unübersichtliche JSON-Datei gelesen oder aufgeräumt werden? Der JSON-Formatierer fügt Einrückungen hinzu und validiert die Datei, damit die verschachtelte Struktur wirklich lesbar wird, statt in einer einzigen langen Zeile zu verschwinden.

Alle drei Werkzeuge laufen vollständig im Browser: Die Daten werden nie irgendwohin hochgeladen, bevor man die konvertierte Datei zurückbekommt, was wichtig ist, wenn die Datei eine Kundenliste ist oder etwas anderes, das lieber nicht auf einem Server landen sollte.

Häufig gestellte Fragen#

Ist JSON immer besser als CSV? Nein, JSON eignet sich besser für verschachtelte oder typisierte Daten, aber bei einer einfachen flachen Tabelle ist CSV kleiner, lässt sich leichter in einer Tabellenkalkulation öffnen und ist ohne technische Werkzeuge für jeden lesbar.

Lässt sich jede CSV-Datei sauber in JSON umwandeln? Ja, denn eine flache Tabelle entspricht immer einer Liste flacher Objekte, eines pro Zeile, wobei die Kopfzeile die Feldnamen liefert.

Lässt sich jede JSON-Datei sauber in CSV umwandeln? Nicht immer: JSON, das Objekte oder Arrays innerhalb eines Feldes verschachtelt, muss zum Einpassen in Zeilen und Spalten abgeflacht oder vereinfacht werden, wobei dabei Struktur verloren gehen oder in eine einzelne Zelle gequetscht werden kann.

Warum ist meine JSON-Datei so viel größer als die entsprechende CSV-Datei? JSON wiederholt jeden Feldnamen (wie "name":) in jedem einzelnen Datensatz, während CSV jeden Spaltennamen nur einmal in der Kopfzeile angibt, weshalb dieselbe Tabelle als JSON meist 30 bis 50% größer ausfällt.

Welches Format nutzen APIs tatsächlich? Die überwiegende Mehrheit moderner Web-APIs sendet und empfängt standardmäßig JSON, weil es die verschachtelten, typisierten Daten, mit denen echte Anwendungen arbeiten, von Natur aus abbildet.

Braucht man spezielle Software, um eine der beiden Dateien zu öffnen? Nein: CSV öffnet sich direkt in Excel, Google Sheets oder Numbers, und JSON in jedem Texteditor, auch wenn ein eigener JSON-Formatierer das Lesen einer großen Datei deutlich einfacher macht.

Kurz zusammengefasst#

  • CSV ist eine flache Tabelle: Zeilen und Spalten, keine Verschachtelung, keine Typen, in einer Tabellenkalkulation universell lesbar.
  • JSON ist eine verschachtelte, typisierte Struktur: gemacht für Daten, die sich nicht sauber abflachen lassen, und das Standardformat für APIs.
  • Kein Format ist "besser", beide sind für unterschiedliche Datenformen gebaut, die Wahl sollte sich also danach richten, was als Nächstes mit der Datei geschehen soll.
  • Zwischen beiden umzuwandeln ist Routine: CSV zu JSON, JSON zu CSV oder der JSON-Formatierer, alle kostenlos und laufen lokal im Browser. Weitere Formatvergleiche wie diesen gibt es im Bereich Dateiformate des Blogs.

Die Tools ausprobieren

Kostenlos, privat und sofort. Alles läuft in deinem Browser.