
How to Merge VCF Files: Free Tool & Guide (2026)
Merge VCF contact files with an online tool, Python, or command line. Includes duplicate removal and migration for iPhone, Android, Google, and Outlook.
Convert VCF and vCard contact files into readable plain text. Upload or paste contacts, choose contact cards, compact list, text table, or raw fields, then copy or download a clean .txt file. No upload or signup required.
Your plain text contact output will appear here as you type.
A vCard contact becomes readable plain text.
BEGIN:VCARD
VERSION:3.0
FN:Alice Johnson
TEL;TYPE=CELL:+1-555-0101
EMAIL:alice@example.com
END:VCARDAlice Johnson
Phone (CELL): +1-555-0101
Email: alice@example.comReadable contact export without server upload.
Add a .vcf file exported from iPhone, Android, Gmail, Outlook, iCloud, or a CRM.
The tool reads vCard blocks, folded lines, names, phones, emails, notes, and addresses.
Choose readable cards, compact list, table text, or raw parsed fields.
Copy the preview or download a clean .txt contact file instantly.
Where VCF to TXT conversion is useful.
Create a human-readable TXT backup of names, phone numbers, emails, organizations, and notes.
Turn VCF contacts into tab-separated or pipe-separated text that can be pasted into spreadsheets.
Inspect exported contacts locally before importing, sharing, deduplicating, or archiving them.
Send a plain text contact list to someone who does not need or cannot import a .vcf file.
For repeatable contact export scripts.
For simple repeatable exports, a script can extract common vCard fields and write plain text. The online tool is better for interactive review, table output, and quick browser-only conversion.
import re
with open("contacts.vcf", "r", encoding="utf-8") as file:
content = file.read()
cards = re.findall(r"BEGIN:VCARD.*?END:VCARD", content, re.DOTALL)
lines = []
for card in cards:
name = re.search(r"^FN:(.*)$", card, re.MULTILINE)
phones = re.findall(r"^TEL[^:]*:(.*)$", card, re.MULTILINE)
emails = re.findall(r"^EMAIL[^:]*:(.*)$", card, re.MULTILINE)
lines.append(name.group(1).strip() if name else "Unnamed contact")
for phone in phones:
lines.append(f"Phone: {phone.strip()}")
for email in emails:
lines.append(f"Email: {email.strip()}")
lines.append("")
with open("contacts.txt", "w", encoding="utf-8") as out:
out.write("\n".join(lines))VCF files store contacts as vCards, which are excellent for importing into phones and email apps but not always easy to read. Converting VCF to TXT gives you a plain-text copy of names, phone numbers, emails, organizations, notes, birthdays, websites, and addresses.
Use Contact cards when you want a readable address book with one contact per block. Use Compact list when you need one contact per line for quick review, printing, searching, or copying into another document.
Use Text table when you want tab-separated or pipe-separated text that can be pasted into spreadsheets, docs, or simple databases. Use Raw fields when you want to inspect exactly which parsed vCard fields were found.
The converter reads common vCard fields such as FN, N,TEL, EMAIL, ORG, TITLE,ADR, URL, BDAY, and NOTE. It also handles folded vCard lines and escaped commas, semicolons, and line breaks.
Contacts can contain sensitive phone numbers, personal emails, and notes. This tool converts VCF to TXT locally in your browser. If you need to combine contacts before exporting text, use the VCF merger first, then paste the merged file here.
Hand-picked guides to go deeper

Merge VCF contact files with an online tool, Python, or command line. Includes duplicate removal and migration for iPhone, Android, Google, and Outlook.

Merge multiple JSON files into one using free online tool, Python, or jq command line. Complete guide with code examples for arrays, objects, nested JSON, and deduplication.