Zum Inhalt springen
OneKitly

Eine vCard-Adresse hat sieben Teile, eine CSV-Spalte einen

Veröffentlicht am 8.9.2026 · 4 Min. Lesezeit · Datei-Tools

Daniel Okonkwo

Daniel Okonkwo — Front-end-Entwickler und Tech-Redakteur bei OneKitly

Web-Performance · Dateiformate

Anhand von 3 Quellen geprüft

Profil ansehen →
Kurz gesagt

vCard speichert einen Namen als fünf Bestandteile (Familienname, Vorname, weitere, Präfix, Suffix), eine Adresse als sieben (Postfach, Zusatz, Straße, Ort, Region, Postleitzahl, Land) und eine Organisation als Einheit samt Abteilungen, jeweils durch ein nicht escaptes Semikolon getrennt. Der CSV-Export schreibt eine Spalte je Begriff: Aus der Adresse wird 12 rue de la Paix, bâtiment C, Paris, 75002, France — dieselben Wörter, durch Kommas verbunden, ohne die Grenzen. Diese Tabelle zu lesen ist in Ordnung, sie zu sortieren auch. Beim Zurückbauen einer vCard zeigt sich der Verlust: Die ganze Adresse landet im Straßenbestandteil, und ein ins Telefon importierter Kontakt hat eine Straße namens 12 rue de la Paix, bâtiment C, Paris, 75002, France mit leerem Ort und leerer Postleitzahl. Zwei zu einer Organisation verschmolzene Abteilungen und eine Mobilnummer, die nicht mehr sagt, dass sie mobil ist, gehen denselben Weg. Führe zusammen, sieh nach und ändere innerhalb der .vcf, wenn die Struktur zählt; hol das CSV heraus, wenn du eine Liste zum Lesen, Sortieren oder Zählen willst.

Namen, Adressen und Organisationen sind in einer vCard gegliederte Felder. Drückt man sie in eine Tabelle, lesen sie sich gleich und verlieren dabei ihre Nähte — was in dem Moment zählt, in dem man aus dieser Tabelle wieder eine vCard baut.

Das Semikolon, das kein Trenner ist

In einer vCard trägt die Struktur nackte Semikolons, und der Inhalt escapt seine eigenen. Eine Firma namens Sarl Dupont, Martin et fils wird als Sarl Dupont\, Martin et fils geschrieben, Backslash inklusive, genau damit ein Leser dieses Komma von einem Trenner unterscheiden kann. Dasselbe gilt für Semikolons innerhalb eines Werts und für Zeilenumbrüche in einer Notiz. Zerlegt man eine vCard-Zeile an einem gewöhnlichen Semikolon oder Komma, zerreißt man Namen — deshalb läuft der Parser hier über die Zeile und achtet die Backslashes, statt split aufzurufen.

Die Zeilenfaltung ist die zweite Falle und im Editor unsichtbar. Eine lange Eigenschaft wird bei 75 Oktetts umbrochen und in der nächsten Zeile mit führendem Leerzeichen fortgesetzt: Eine Notiz von 149 Zeichen kann so über drei Zeilen liegen und sich für alles, was an Zeilenumbrüchen trennt, wie drei kaputte Felder lesen. Richtig entfaltet kommt sie ganz zurück, Escaping unversehrt — das zeigt der Betrachter, und das trägt danach das CSV.

Welche Richtung, und wann

Nimm das CSV, wenn die gesuchte Antwort eine Liste ist: wer bei welcher Firma ist, wie viele Kontakte keine E-Mail haben, welche Nummern noch mit einer alten Vorwahl beginnen. Für solche Fragen ist eine Tabelle die richtige Form und eine vCard eine schlechte. Nimm den JSON-Export, wenn etwas anderes ihn lesen soll — er behält Telefon- und E-Mail-Listen als Listen, statt sie in eine Zelle zu gießen, und das ist der Unterschied zwischen einem Skript, das funktioniert, und einem, das rät, wo zu trennen ist.

Ein Kontakt durch .vcf → CSV → .vcf, Eigenschaft für Eigenschaft
In der ursprünglichen .vcfWas wieder herauskommtLiest sich gleich?
ADR:;;12 rue de la Paix, bâtiment C;Paris;;75002;FranceAlles im Straßenbestandteil, Ort und PLZ leerJa
ORG:Sarl Dupont, Martin et fils;Service commercialEine Organisation, die Abteilung mit Gedankenstrich angehängtJa
TEL;TYPE=CELL und TEL;TYPE=WORK,VOICEZwei TEL-Zeilen, keine sagt welche welche istNummern ja, Bezeichnungen nein
N:Dupont;Jean-Pierre;Marie;M.;N:Dupont;Jean-Pierre;;; — zweiter Vorname und Anrede wegGrößtenteils
NOTE und EMAIL, mit escapten KommasIdentisch, Escaping und beide Adressen unversehrtJa
VCF in CSVMach aus einem vCard-Adressbuch eine CSV-Datei — ein Kontakt je Zeile.Tool ausprobieren →

Häufige Fragen

Meine importierten Kontakte haben weder Ort noch Postleitzahl. Warum?
Weil sie durch eine Tabelle gegangen sind. Aus einer Adressspalte wird ein Adressbestandteil, und der Bestandteil, den eine neu gebaute vCard nutzt, ist die Straße — Ort, Region, Postleitzahl und Land kommen also leer an, obwohl jedes Wort noch da ist. Brauchst du diese Felder gefüllt, behalte die ursprüngliche .vcf oder zerlege die Adresse selbst in eigene Spalten und ergänze sie nach dem Import am Ziel.
Überleben die Umlaute und Akzente?
In den Werkzeugen ja — alles wird als UTF-8 gelesen und geschrieben. Kaputt gehen sie meist in einer Tabellenkalkulation, die das CSV in einer anderen Kodierung öffnet und aus é zwei Zeichen macht, bevor du irgendetwas getan hast. Öffne die Datei über den Importdialog deiner Tabelle und wähle UTF-8, statt sie doppelzuklicken, und prüfe einen Namen mit Akzent, bevor du zweihundert bearbeitest.
Gibt es eine vCard-Version, die ich bevorzugen sollte?
3.0 exportieren die meisten Adressbücher, und alles liest es — die sichere Wahl, um Kontakte zwischen Anwendungen zu bewegen. 4.0 ist der heutige Standard und schreibt manche Werte als URI: Eine Telefonnummer kann als tel:+33612345678 samt Präfix ankommen. 2.1, noch von älteren Telefonen und Mailprogrammen erzeugt, markiert Typen ohne Gleichheitszeichen, also TEL;CELL statt TEL;TYPE=CELL. Die Werkzeuge lesen alle drei; beim Schreiben reist 3.0 am weitesten.

Artikel, die dich interessieren könnten

Alle Ratgeber →
VergleichDrei vCard-Versionen und dieselbe Person in jeder2.1 markiert Typen ohne Gleichheitszeichen, 3.0 liest alles, 4.0 schreibt manche Werte als URI — eine Telefonnummer kann also als tel:+33612345678 samt Präfix ankommen. Zu wissen, welche du hast, erklärt die meisten Import-Überraschungen.VergleichZwei E-Mails in einer Zelle oder zwei Strings in einem ArrayEin Kontakt kann mehrere Nummern und mehrere Adressen haben. Das CSV fügt sie mit einem Mittelpunkt in eine Zelle; das JSON behält sie als Liste — der Unterschied zwischen einem Skript, das funktioniert, und einem, das auf gut Glück trennt.AnleitungDu musst deine Spalten nicht ins Englische umbenennenDie Kopfzeile wird in sechs Sprachen erkannt: prénom, apellidos, Vorname und cognome werden alle verstanden. Eine Überschrift ist wirklich mehrdeutig — nom — und die Nachbarspalte entscheidet sie.VergleichDer JSON-Export behält drei Dinge, für die das CSV keine Spalte hatDieselbe Datei, derselbe Parser, zwei Ausgaben. Die Tabelle bekommt acht Spalten; das JSON bekommt zusätzlich die benannte Zeitzone, den Ganztagsmarker und die Wiederholungsregel.AnleitungKalender und Adressbücher zusammenführen hängt an — es entdoppelt nichtDie Zusammenführungswerkzeuge legen jeden Datensatz jeder Datei in eine Ausgabe, in der Reihenfolge, in der du sie gegeben hast. Das ist die richtige Voreinstellung und das Einzige, was man wissen muss, bevor man zwei Exporte desselben Kontos hineingibt.AnleitungAus einem Plan, der schon in einer Tabelle steht, einen Kalender bauenStundenpläne, Spielpläne, Schichtpläne und Konferenzprogramme beginnen alle als Tabelle. Vier Spalten genügen, um daraus eine Datei zu machen, die jede Kalenderanwendung importieren kann.

Ähnliche Tools

Quellen

Hast du einen Fehler in diesem Artikel entdeckt?