Zum Inhalt springen
OneKitly

Semikolon, Tab, Pipe: ein Trennzeichen wählen, das die Reise übersteht

Veröffentlicht am 27.7.2026 · 14 Min. Lesezeit · Entwickler-Tools

Daniel Okonkwo

Daniel OkonkwoFront-end-Entwickler und Tech-Redakteur bei OneKitly

Web-Performance · Dateiformate

Anhand von 4 Quellen geprüft

Profil ansehen
Kurz gesagt

Das Trennzeichen ist keine Geschmacksfrage; es wird vom Dezimaltrenner dessen bestimmt, der die Datei öffnet. In französischer, deutscher, spanischer, italienischer und portugiesischer Konvention ist das Komma das Dezimalzeichen, dasselbe Zeichen kann also nicht zusätzlich die Felder trennen, ohne dass man jede Zahl zitieren müsste. Diese Systeme nehmen stattdessen das Semikolon, und eine so eingestellte Tabellenkalkulation öffnet eine kommagetrennte Datei als eine einzige Textspalte. Schicke einen echten Semikolon-Export — Produit;Prix;Remise;Ville mit Werten wie 12,50 und 5,0% und einer zitierten Stadt Lyon, Rhône — durch den Trennzeichen-Konverter, und der Unterschied ist zählbar. Mit Semikolon, Tab oder Pipe geschrieben braucht die Datei null zitierte Zellen. Mit Komma geschrieben braucht sie fünf: Jede Dezimalzahl und jeder Prozentwert muss umhüllt werden, damit das Komma darin nicht als Grenze gelesen wird. Mit Leerzeichen geschrieben wird eine Zelle zitiert, und die Datei wird für alles unlesbar, was an Leerraum trennt. Der Tab ist die sicherste der drei Alternativen, weil kein Zahlenformat und fast keine Adresse einen enthält, aber er übersteht Kopieren und Einfügen nicht: Ein in ein Browserfeld getippter Tab verschiebt den Fokus, und viele Editoren machen Leerzeichen daraus. Die Pipe ist ebenso sicher und ebenso unnormiert — keine Tabellenkalkulation öffnet sie ohne Importdialog. Excel beachtet zudem eine erste Zeile sep=; als Anweisung, eine Herstellerkonvention, die in RFC 4180 nicht vorkommt. Der Konverter schreibt diese Zeile beim Trennzeichenwechsel korrekt um und macht aus sep=; ein sep=, — ein Konverter, der die Konvention nicht kennt, liest sie dagegen als deine Kopfzeile.

Warum die Sprache des Lesers das Trennzeichen bestimmt, was der Konverter beim Wechsel mit der Zitierung macht, was die erste Zeile sep= wirklich ist, und die Zahl zitierter Zellen bei demselben Export in fünf Schreibweisen.

Ein Zeichen kann nicht zwei Aufgaben erfüllen

Das ganze Thema reduziert sich auf eine Kollision. Eine CSV-Datei braucht ein Zeichen, um die Grenze zwischen Feldern zu markieren. Eine geschriebene Zahl braucht ein Zeichen, um die Grenze zwischen ganzem Teil und Bruchteil zu markieren. In englischsprachiger Konvention sind das Komma und Punkt, und es gibt keinen Konflikt. In französischer, deutscher, spanischer, italienischer und portugiesischer Konvention ist das Dezimalzeichen das Komma, und der Konflikt ist vollständig: Das Zeichen, das in einem Preis zwölf von fünfzig trennt, ist dasselbe, das den Preis von der nächsten Spalte trennen würde.

Aus einer solchen Kollision führen nur zwei Wege, und die Branche hat den zweiten genommen. Der erste: das Komma als Feldtrenner behalten und jeden Wert zitieren, der eines enthält — zulässig, und das Format sieht es ausdrücklich vor. Der zweite: den Trenner wechseln. Betriebssysteme in diesen Regionen führen neben dem Dezimaltrenner eine Einstellung für das Listentrennzeichen, und sie steht auf dem Semikolon, gerade damit sich beide nie begegnen; Tabellenkalkulationen lesen sie beim Speichern und Öffnen einer CSV. Das Ergebnis: Eine von einem Kollegen in Lyon exportierte Datei und eine von einem Kollegen in Chicago exportierte Datei sind verschiedene Formate mit derselben Endung, und jede öffnet sich auf der Maschine des anderen als eine Textspalte.

Derselbe Export, fünf Schreibweisen, gezählt

Hier ein kleiner französischer Export, vier Spalten breit: Produit, Prix, Remise, Ville. Zwei Zeilen: Café zu 12,50 mit 5,0% Rabatt in Lyon, Rhône, und Thé zu 8,90 mit 0,0% in Paris. Er enthält alles, was diese Frage real macht — Dezimalkommata, einen mit Komma geschriebenen Prozentwert und einen Städtenamen, der berechtigterweise ein Komma und ein Leerzeichen enthält.

Lauf ihn fünfmal durch den Trennzeichen-Konverter und zähle die Zellen, die in Anführungszeichen zurückkommen. Mit Semikolon, Tab oder Pipe: null. Keine einzige Zelle der Datei muss geschützt werden, denn kein Wert enthält eines dieser drei Zeichen. Mit Komma: fünf. Der Preis des Café, sein Rabatt, seine Stadt, der Preis des Thé und sein Rabatt müssen alle zitiert werden, und die Datei geht von sauber zu übersät. Mit Leerzeichen: eine zitierte Zelle, die Stadt, und der Rest der Datei wird zur Falle für alles, was eine Folge von Leerraum als eine Grenze behandelt.

Achte darauf, was der Konverter mit der Zitierung macht, denn genau hier gehen selbstgeschriebene Skripte fehl. Beim Wechsel von Semikolon zu Komma setzt er Anführungszeichen um 12,50 und 5,0% — Werte, die vorher völlig sicher waren und es nun nicht mehr sind. Beim Wechsel von Komma zu Semikolon entfernt er die Anführungszeichen um Lyon, Rhône, denn ein Komma im Feld ist keine Grenze mehr und der Schutz ist jetzt Lärm. Ein Skript, das die Zeichen per Suchen und Ersetzen tauscht, tut weder das eine noch das andere: Es macht aus dem Komma in Lyon, Rhône ein Semikolon und zerteilt die Stadt, und es lässt 12,50 unzitiert, sodass der nächste Leser eine Spalte zu viel findet. Parsen und neu ausgeben ist die einzige korrekte Umsetzung, und das sichtbare Zeichen dafür ist, dass sich die Zitierung mit dem Trennzeichen ändert.

Tab: auf dem Papier am sichersten, unterwegs zerbrechlich

Das Argument für den Tab ist, dass kein Zahlenformat einen enthält, in keiner Locale. Auch keine Postanschrift, kein Produktname und kein Personenname im gewöhnlichen Gebrauch, eine tabgetrennte Datei mit echten Geschäftsdaten braucht also meist gar keine Zitierung — genau das zeigte die Fünffachzählung oben. Er ist außerdem das Format, das eine Tabellenkalkulation selbst in die Zwischenablage legt: Kopiere einen Zellblock, und was dort als reiner Text landet, ist tabgetrennt — deshalb liefert das Einfügen einer Auswahl in einen Texteditor ein fertiges TSV. Kommandozeilenwerkzeuge neigen in dieselbe Richtung, cut voran: Es trennt am Tab, sofern nichts anderes gesagt wird. Nach den Verdiensten des Zeichens gewinnt er.

Er verliert beim Transport. Ein Tab ist ein Steuerzeichen mit einer Aufgabe in jeder Texteingabe, durch die er läuft, und diese Aufgabe ist nicht, Daten zu sein. In ein Browserfeld getippt verschiebt er den Fokus zum nächsten Element. In eine Chatnachricht oder ein Ticketsystem eingefügt wird er oft als Folge von Leerzeichen dargestellt und manchmal in solche verwandelt. Viele Editoren sind so eingestellt, dass sie einen getippten Tab zu Leerzeichen ausdehnen — wer die Datei öffnet, um eine Zelle zu korrigieren, kann so die Struktur jeder berührten Zeile zerstören, ohne dass sich auf dem Bildschirm etwas ändert. Und weil ein Tab wie eine leere Strecke aussieht, bleibt ein zu Leerzeichen gewordener Tab unsichtbar, bis ein Parser dir sagt, die Zeile habe ein Feld.

Ein Detail dazu, wie dieser Konverter tabgetrennte Ausgabe schreibt, sollte man kennen, denn es überrascht, wer ein rohes TSV erwartet. Er wendet CSV-Zitierregeln auf das Tab-Format an: Eine Zelle, die einen Tab, einen Zeilenumbruch oder ein doppeltes Anführungszeichen enthält, wird in Anführungszeichen gesetzt, und ihre inneren Anführungszeichen werden verdoppelt. Eine Zelle mit say "hi" kommt also als "say ""hi""" heraus, obwohl kein Tab darin steckt. Tabellenkalkulationen lesen das korrekt. Werkzeuge, die jede Zeile am Tab zerlegen und die Stücke wörtlich nehmen, nicht — sie sehen die Anführungszeichen als Teil des Werts. Ist dein Verbraucher ein simpler Feldzerleger und kein CSV-Leser, prüfe, was er mit einer zitierten Zelle macht, bevor du dich auf die Datei verlässt.

Die sep=-Zeile, und was dieser Konverter aus Versehen richtig macht

Excel akzeptiert eine erste Zeile der Form sep=; und liest sie als Anweisung: Das Zeichen nach dem Gleichheitszeichen ist der Feldtrenner dieser Datei, ganz gleich, was die Listentrennzeichen-Einstellung der Maschine sagt. Es ist der einzige gebräuchliche Mechanismus, mit dem eine CSV-Datei ihr eigenes Trennzeichen deklarieren kann, und er gehört weder zu RFC 4180 noch zur Registrierung des Medientyps text/csv — es ist eine Herstellerkonvention, die sich verbreitet hat, weil sie ein echtes Problem für den Preis einer Zeile löst.

Genau darin liegt der Haken. Nichts, dem die Konvention nicht beigebracht wurde, erkennt sie, und die Datei hat keine Möglichkeit zu signalisieren, dass diese Zeile Metadaten und keine Daten sind. Ein generischer CSV-Leser behandelt sie als ersten Datensatz, und nutzt der Leser die erste Zeile zudem als Kopfzeile, werden deine Spaltennamen zu sep= und einer Reihe von Positionsplatzhaltern, während deine echte Kopfzeile in die Daten rutscht. Genau das passiert, wenn du eine solche Datei einem CSV-zu-JSON-Konverter gibst, ohne die Zeile vorher zu entfernen.

Der Trennzeichen-Konverter behandelt sie korrekt, und der Grund ist erzählenswert, weil ihn niemand entworfen hat. Das Werkzeug hat nie von der Konvention gehört: Es parst sep=; als gewöhnlichen Datensatz, was mit dem Semikolon als Trenner zwei Zellen ergibt — sep= und eine leere — und schreibt diesen Datensatz dann mit dem neuen Trennzeichen zurück. Die Umwandlung zu Komma ergibt sep=, zu Tab ergibt sep= gefolgt von einem Tab, zu Pipe ergibt sep=|. In jeder Richtung bleibt der Hinweis wahr für die Datei, die er beschriftet. Derselbe Zufall hilft der Erkennung: Die Hinweiszeile enthält genau ein Vorkommen des Zeichens, das sie nennt, und keines der drei anderen Kandidatenzeichen, und in Betracht kommen ohnehin nur Zeichen, die im ersten Datensatz auftauchen — eine Datei mit dem Hinweis bietet also genau einen Kandidaten, und zwar den, den die Zeile nennt.

Die automatische Erkennung wägt fünf Datensätze ab, und Beständigkeit schlägt Häufigkeit

Die Erkennung zählt hier Komma, Semikolon, Tab und Pipe, überspringt alles in Anführungszeichen und tut das Datensatz für Datensatz — höchstens fünf, nie die ganze Datei. Ein Kandidat, dessen Anzahl sich auf jedem gelesenen Datensatz identisch wiederholt, bekommt einen großen Bonus; Beständigkeit wiegt also schwerer als bloße Häufigkeit in der Kopfzeile. Gib ihr eine Kopfzeile a,b,c|d über den Zeilen 1|2 und 3|4, und die Antwort lautet Pipe, obwohl diese Kopfzeile zwei Kommas gegen eine einzige Pipe hält: Die Pipe-Zahl wiederholt sich auf jedem Datensatz, während die Komma-Zahl schon im zweiten auf null fällt. Beständigkeit ist das bessere Signal, denn eine echte Spaltengrenze kommt in jeder Zeile einer wohlgeformten Datei gleich oft vor, während ein Zeichen, das nur zufällig in einer Überschrift steht, dort vorkommt, wo es eben vorkommt.

Zwei Grenzen überleben diese Regel, und beide sollte man kennen, bevor man die Einstellung auf automatisch lässt. Die erste: Kandidat ist nur, was im ersten Datensatz überhaupt vorkommt. Eine Kopfzeile a,b über einer Zeile 1;2;3;4 liefert weiterhin das Komma, weil das Semikolon auf der Zeile, die die Auswahl aufstellt, nie erscheint — die Zeilen darunter können kein Zeichen nachnominieren, das die Kopfzeile nicht gezeigt hat. Die zweite: Fünf Datensätze sind ein Fenster, kein Beweis. Gib ihr eine Kopfzeile a,b,c|d über vier Zeilen der Form 1|2, und sie antwortet Pipe; häng einen sechsten Datensatz 9|10|11 an, der das Muster bricht, und die Antwort bleibt Pipe, weil dieser Datensatz nie gelesen wird. Schieb dieselbe Zeile auf den fünften Platz, und die Antwort kippt zum Komma. Das Symptom eines Fehlgriffs ist in beiden Fällen dasselbe: Die Zeilen kommen als eine breite Zelle zurück, mit dem echten Trenner noch darin. Die Abhilfe ist ein Klick: das Quelltrennzeichen ausdrücklich setzen, statt es auf automatisch zu lassen. Eine Datei ganz ohne Trennzeichen fällt auf das Komma zurück, was nichts ändert und die richtige Voreinstellung ist.

Zwei letzte praktische Hinweise. Die Leerzeichen-Option gibt es im Werkzeug und sollte fast nie gewählt werden: Jedes Feld mit einem Leerzeichen wird zitiert, was bei echten Daten die meisten sind, und kein Leser behandelt eine Folge von Leerzeichen so, wie du es erwartest. Und die Umwandlung ist bei wohlgeformter Eingabe in beiden Richtungen umkehrbar: Nimm eine Kommadatei, deren Stadt als Paris, France zitiert ist, wandle sie zu Semikolon und zurück, und du bekommst die Ausgangsdatei Zeichen für Zeichen, weil die Zitierung jedes Mal neu berechnet und nicht mitgeschleppt wird.

Derselbe französische Export in fünf Schreibweisen — Zahlen zitierter Zellen durch Ausführen des Konverters gemessen
TrennzeichenNötige zitierte ZellenWo es funktioniertWo es bricht
Komma5 von 12 ZellenDie Vorgabe englischsprachiger Werkzeuge und der Medientyp-RegistrierungEine Tabellenkalkulation mit Semikolon als Listentrennzeichen öffnet die ganze Datei als eine Spalte
Semikolon0 von 12 ZellenJede Maschine mit dem Komma als Dezimalzeichen — französische, deutsche, spanische, italienische, portugiesische KonventionEine Tabellenkalkulation in englischer Locale und jeder Importeur, der ungefragt das Komma annimmt
Tab0 von 12 ZellenVon Maschine zu Maschine gereichte Dateien; kein Zahlenformat und keine Adresse enthält einen TabKopieren und Einfügen: Ein Tab verschiebt in einem Formular den Fokus und wird von vielen Editoren zu Leerzeichen
Pipe0 von 12 ZellenSichtbar, übersteht Kopieren und Einfügen und kommt in fast keinen natürlichen Daten vorUnnormiert: Keine Tabellenkalkulation öffnet ihn ohne Importdialog, und kein Medientyp nennt ihn
Leerzeichen1 von 12 Zellen, und auf echten Daten weit mehrNichts, was ein besseres Trennzeichen nicht auch täteJedes Feld mit einem Leerzeichen, also die meisten Namen, Adressen und Beschreibungen
Trennzeichen-KonverterTausche das Trennzeichen deiner Daten — Komma, Tab, Semikolon, Pipe oder Leerzeichen. Lege eine Datei ab, statt sie einzufügen — sie wird im Browser gelesen und nie hochgeladen.Tool ausprobieren

Häufige Fragen

Mein Kollege öffnet meine CSV und alles steht in Spalte A. Was schicke ich stattdessen?
Seine Maschine erwartet ein anderes Feldtrennzeichen als das von dir benutzte, und neun von zehn Mal heißt das: Du hast Kommas an jemanden geschickt, dessen Listentrennzeichen das Semikolon ist. Wandle die Datei zu Semikolon und schick sie erneut. Weißt du nicht, was er braucht, oder geht die Datei an mehrere gleichzeitig, gibt es zwei robuste Optionen: eine erste Zeile sep= gefolgt von deinem Trennzeichen einfügen, was Excel beachtet und die Datei selbstbeschreibend macht, oder statt einer CSV eine echte Tabellendatei schicken, denn dieses Format hält seine Struktur selbst fest und hat kein zu ratendes Trennzeichen. Achtung: Die sep=-Zeile hilft nur einem Leser, der die Konvention kennt — ein Skript, das die Datei liest, hält sie für deine Kopfzeile.
Ist eine kommagetrennte Datei mit zitierten Zahlen trotzdem korrekt?
Ja, vollständig. Ein Feld zu zitieren, das das Trennzeichen enthält, ist genau der Zweck des Mechanismus, und eine korrekt zitierte Datei parst überall korrekt. Die Einwände sind praktisch, nicht formal. Sie ist mit dem Auge viel schwerer zu lesen, wer die Datei nach einem Fehler durchsieht, muss sich durch die Anführungszeichen arbeiten. Sie ist größer, um zwei Zeichen je zitiertem Wert plus ein verdoppeltes Anführungszeichen für jedes innere. Und sie ist zerbrechlich in den Händen dessen, der sie als Nächstes bearbeitet: Wer die Datei in einem Editor öffnet und ein scheinbar verirrtes Anführungszeichen um einen Preis entfernt, hat gerade jede Zeile unterhalb der Spaltenverschiebung zerstört. Ein Trennzeichen zu wählen, das in den Daten nicht vorkommt, beseitigt den Zitierbedarf ganz, und eine Datei, die nie zitieren muss, kann von niemandem beim Aufräumen kaputtgemacht werden.
Tab oder Pipe, wenn ich beide Enden kontrolliere?
Tab, wenn die Datei nur zwischen Programmen wandert, und Pipe, wenn ein Mensch sie ansieht oder bewegt. Beide sind gegenüber den Daten gleich sicher — keines von beiden kommt in einer Zahl, einer Adresse oder einem Namen im gewöhnlichen Gebrauch vor — der Unterschied liegt also ganz im Umgang. Tab gewinnt beim Werkzeug: Tabellenkalkulationen und Kommandozeilenwerkzeuge öffnen eine tabgetrennte Datei ohne Importdialog. Pipe gewinnt bei Sichtbarkeit und Überleben: Sie ist im Terminal sichtbar, auf einem Screenshot eindeutig, und sie geht unverändert durch Chatnachricht, Formularfeld und Texteditor — was für einen Tab in keinem der drei Fälle gilt. Wird die Datei irgendwann in ihrem Leben irgendwo eingefügt, nimm die Pipe.
Warum fügt der Konverter Anführungszeichen hinzu, wenn ich von Semikolon zu Komma wechsle?
Weil diese Zellen ein Komma enthalten und das Komma gerade zur Grenze geworden ist. Ein als 12,50 geschriebener Preis war in einer Semikolondatei ein gewöhnlicher Wert und würde in einer Kommadatei als zwei Spalten gelesen, er muss also umhüllt werden. Dasselbe gilt für einen als 5,0% geschriebenen Prozentwert und für jede Adresse mit einem Komma. Das ist keine Vorsicht des Konverters, sondern das Minimum, damit die Datei weiter bedeutet, was sie bedeutete. Die Gegenrichtung entfernt Anführungszeichen aus demselben Grund: Wandle zurück zu Semikolon, und die Anführungszeichen um einen Wert, dessen einziges Sonderzeichen ein Komma war, verschwinden, weil dieses Zeichen nichts mehr trennt. Willst du die Anführungszeichen lieber nicht mitschleppen, ist genau das das Argument, stattdessen zu Tab oder Pipe zu wandeln, wo in den Daten überhaupt nichts geschützt werden muss.
Wird das Dezimaltrennzeichen selbst umgewandelt?
Nein, und das sollte es auch nicht. Der Trennzeichen-Konverter ändert die Struktur der Datei und nie den Inhalt einer Zelle: Ein als 12,50 geschriebener Preis bleibt 12,50, welches Trennzeichen du auch wählst, und ein als 12.50 geschriebener Preis bleibt 12.50. Auch die Zahlen umzuwandeln wäre eine andere und weit gefährlichere Operation, denn man müsste Zelle für Zelle entscheiden, ob ein Komma Dezimalzeichen oder Tausendertrenner ist — und 1,500 ist je nach Antwort entweder anderthalb oder fünfzehnhundert. Musst du die Zahlen für einen Leser in einer anderen Konvention umformatieren, mach daraus einen eigenen, bewussten Schritt, in dem du siehst, welche Spalten betroffen sind, und prüfe einen Wert, dessen Ergebnis du kennst, bevor du das Resultat annimmst.

Artikel, die dich interessieren könnten

Alle Ratgeber
ErklärungCSV zu JSON: die fünf Fälle, an denen jeder Konverter scheitertTrennzeichen in Anführungszeichen, eingebettete Zeilenumbrüche, mehrdeutige Typen, doppelte Spaltennamen und Kodierung. Jeder Fall lief durch den Konverter, und die exakte Ausgabe steht hier — auch die beiden, die er nicht rettet.ErklärungWarum dein CSV in Excel Umlaute und Datumsangaben zerlegtHinter demselben Satz verbergen sich drei völlig verschiedene Fehler. Einer ist die Kodierung, einer das Trennzeichen, einer Excel, das beim Öffnen Datentypen errät — und jeder hat eine andere Lösung. So unterscheidest du sie in fünf Sekunden.RatgeberEine Tabelle in einen Pull Request einfügen: was kaputtgeht und die zwei Zeichen, die es kaputtmachenEine Markdown-Tabelle verbietet in einer Zelle genau zwei Zeichen: den Pipe und den Zeilenumbruch. Hier steht, was jedes davon anrichtet, wie ein Konverter damit umgeht, warum das Escape in der richtigen Reihenfolge angewandt werden muss, und warum das Auffüllen nie zählt.RatgeberEine Tabelle transponieren, deren Zeilen Spalten hätten sein sollenWas aus der Kopfzeile wird, was aus ungleich langen Zeilen wird, was aus Typen wird — und die eine Sache, mit der Transponieren regelmäßig verwechselt wird und die es nicht kann.ErklärungJSON zu CSV bei verschachtelter Struktur: warum es keine richtige Antwort gibtDieselben zwei Bestellungen kommen aus einem Konverter mit fünf Spalten und aus einem anderen mit zehn, und keiner liegt falsch. Punktpfade, Arrays aus Skalaren, Arrays aus Objekten und Datensätze mit unterschiedlichen Schlüsseln — vier Entscheidungen, für dich getroffen, meist stillschweigend.RatgeberHTTP-Statuscodes erklärt: die, die wirklich verwechselt werden301 gegen 308, 302 gegen 307, 401 gegen 403, 404 gegen 410 — dazu, was Retry-After bei einem 429 oder 503 wirklich zusagt. Die Paare, bei denen der falsche Code das Verhalten ändert und nicht nur die Formulierung.

Ähnliche Tools

Das hier beschreibt, was diese Konverter heute tun — geprüft, indem sie ausgeführt wurden — und nicht, was ein Standard einem Konverter vorschreibt. CSV hat keinen normativen Standard: RFC 4180 ist Informational und beschreibt gängige Praxis, weshalb zwei korrekt wirkende Werkzeuge bei derselben Datei auseinanderlaufen können, ohne dass eines falsch liegt. Abflachen, Typerkennung und Array-Erkennung sind Konventionen, keine Regeln. Bevor du Daten konvertierst, die du nicht neu exportieren kannst, lauf zuerst über eine Kopie und vergleiche Zeilen- und Spaltenzahl an beiden Enden.

Quellen

Hast du einen Fehler in diesem Artikel entdeckt?

Semikolon, Tab, Pipe: ein Trennzeichen wählen, das die Reise übersteht — OneKitly