Convert TXT to VCARD
Convert a structured TXT contact list into a compatible vCard file for phone and address-book import.
Convert TXT files online
We don’t have a dedicated online converter for TXT to VCARD yet, but you can convert TXT files online to these and more formats:
How to convert txt to vcard file
- Contacts and address books
- No ratings yet.
Phones and address-book applications commonly import contacts from .vcf files, not plain-text lists. Converting a structured TXT contact list produces a file that can be transferred between devices, shared, or imported into email and contact software.
What the TXT format is
.txt is an unstructured plain-text format used by Notepad, TextEdit, terminal tools, older applications, and manually maintained contact lists. It has no standard contact fields or delimiter.
A contact list may contain one contact per line, comma-separated or tab-separated columns, or labels such as Name:, Phone:, and Email:. Inspect the contents before conversion; the extension alone cannot identify which value is a surname, phone number, postal code, or note.
What the vCard format is
vCard is a structured contact standard normally saved with the .vcf extension. It can store a formatted name, structured first and family names, telephone numbers, email addresses, organization, postal address, website, notes, and, depending on the version and application, a contact photo.
A single VCF file can contain one contact or multiple contacts. vCard 3.0 is generally more compatible with older phones and desktop address books; vCard 4.0 has newer features but is not supported by every importer. Android, iOS, Outlook, Thunderbird, Apple Contacts, and Google Contacts support vCard, although field mapping varies between applications.
Convert TXT with LibreOffice and Thunderbird
- Open the TXT file in LibreOffice Calc. In the import dialog, select Separated by and choose the actual delimiter, such as Tab, comma, or semicolon. Check that each field appears in the correct column.
- Clean the table and use a header row with unambiguous names such as
First Name,Last Name,Mobile Number,Email, andOrganization. Save it ascontacts.csvthrough File → Save As. - Open Thunderbird’s address book and choose Tools → Import. Select the CSV or text-address-book import option, then map every source column to the appropriate Thunderbird field.
- Inspect several imported records for reversed names, lost leading zeroes, incorrect telephone types, broken accented characters, and malformed email addresses.
- Select the verified contacts and choose Tools → Export. Save the result as
contacts.vcf; select vCard 3.0 if Thunderbird offers a version choice.
Menu names can differ slightly between Thunderbird releases. If the import wizard does not recognize the file as CSV, first save it from Calc as a comma-separated CSV with UTF-8 encoding.
Use a local Python script for tab-separated data
A script is suitable when the TXT file has a header row named name, phone, email, and optionally organization, with one contact per tab-separated line. Save this as txt_to_vcard.py:
import csv
import sys
def escape(value):
value = str(value or '').replace('\\r\\n', '\\n').replace('\\r', '\\n')
return value.replace('\\', '\\\\').replace(';', '\\;').replace(',', '\\,').replace('\\n', '\\n')
def fold(line):
parts = []
current = ''
limit = 75
for character in line:
if len((current + character).encode('utf-8')) > limit:
parts.append(current)
current = ' ' + character
limit = 74
else:
current += character
parts.append(current)
return '\\r\\n'.join(parts)
with open(sys.argv[1], encoding='utf-8-sig', newline='') as source, open('contacts.vcf', 'w', encoding='utf-8', newline='') as output:
contacts = csv.DictReader(source, delimiter='\\t')
for contact in contacts:
full_name = (contact.get('name') or '').strip()
name_parts = full_name.split()
family = name_parts[-1] if name_parts else ''
given = ' '.join(name_parts[:-1])
lines = [
'BEGIN:VCARD',
'VERSION:3.0',
'FN:' + escape(full_name),
'N:' + escape(family) + ';' + escape(given) + ';;;'
]
phone = escape(contact.get('phone', ''))
email = escape(contact.get('email', ''))
organization = escape(contact.get('organization', ''))
if phone:
lines.append('TEL;TYPE=CELL:' + phone)
if email:
lines.append('EMAIL:' + email)
if organization:
lines.append('ORG:' + organization)
lines.extend(['END:VCARD'])
output.write('\\r\\n'.join(fold(line) for line in lines) + '\\r\\n')Run it with python txt_to_vcard.py contacts.txt. The script creates contacts.vcf in the current directory. Its name parser treats the last whitespace-separated word as the family name, so edit that logic for compound surnames, titles, suffixes, or separate first- and last-name columns.
Use an online converter for non-sensitive data
Online services such as CloudConvert or Online-Convert may provide CSV-to-VCF conversion, but direct TXT support and field mapping vary. If the service does not accept the TXT delimiter correctly, open the file in LibreOffice Calc, save it as UTF-8 CSV, and convert that CSV to VCF. Upload only a small sanitized sample or non-private contacts; a contact list contains personal data and may be retained by the service. A local Thunderbird workflow or script avoids that disclosure.
Quality and compatibility checks
TXT has no universal contact schema, so automatic conversion cannot reliably infer field meanings. Normalize telephone numbers, preserve country codes, and check values containing commas, tabs, semicolons, line breaks, or leading zeroes before exporting.
Use UTF-8 to preserve accented names. vCard text values require escaping for backslashes, commas, semicolons, and line breaks; generated lines should also be folded when they exceed the vCard line-length limit. Test a few records before importing a large file, then check for duplicate contacts, truncated fields, unsupported photos, and incorrect name or phone-type mapping.
TXT vs VCARD: format comparison
How the TXT and VCARD formats compare on the properties that matter most for this conversion.
| Property | .TXT Plain Text File | .VCARD vCard |
|---|---|---|
| Open standard | Yes | Yes |
| Compression | Uncompressed | Uncompressed |
| Typical file size | Very small | Very small |
| Opens in a web browser | Yes, natively | No |
| Further editing | Easy | Easy |
| Metadata support | None | Basic |
| Plain-text readable | Yes | Yes |
| Best used for | Data exchange | Sharing and distribution |
| Introduced | — | 1996 |
| Developer | — | IETF |
| MIME type | text/plain | text/vcard |
The database currently does not contain any direct txt file converter links.
Frequently asked questions
Will converting TXT to vCard keep all my contact details?
Only contact fields that can be identified in the structured TXT file are reliably transferred. Unrecognized columns, formatting, and other text may be omitted or placed in a notes field, depending on the conversion rules.
Can a TXT contact list become multiple vCards?
Yes, if the TXT file has clear separators between contacts and consistent field labels. Without those markers, several people may be merged into one contact or one person may be split into multiple contacts.
Why are names or phone numbers wrong after converting TXT to vCard?
TXT has no universal contact-list structure, so commas, tabs, line breaks, headers, and phone-number formats can be interpreted incorrectly. Consistent labels and delimiters are important for accurate field mapping.
Will a TXT to vCard conversion preserve accented names and special characters?
Usually, if the source text encoding and the vCard character encoding are handled correctly. A mismatch can produce garbled accents or other symbols, and compatibility also depends on the vCard version supported by the address book.