Merge VCF Files into One: 3 Methods That Work

Excel2VCF Team
6 min read

Merge VCF Files into One: 3 Methods That Work

Several VCF files and no merge button? Combine them in one local two-step workflow: merge contacts in a spreadsheet, clean duplicates, export one VCF.

By Excel2VCF Team — 2026-10-22
VCF Merge Excel Tutorial

Your old phone exported 310 contacts, the new one brought 240, and the CRM supplied a third file. Three .vcf files, three overlapping address books, and no obvious command that joins them. The format helps: a VCF is plain text and every card has the same shape.

Merging hides two jobs, though: pooling every card into one list, and reconciling near-identical entries when the same person appears three times with different numbers. Skip the second and the result is a bigger mess than before.

Why merging VCF files is harder than it looks

A VCF is a sequence of vCard blocks — BEGIN:VCARD, a version line, fields, END:VCARD — with nothing wrapping the file, which is why concatenation works at all.

A card is not a row, though: one contact may carry three TEL lines and two EMAIL lines, the next only FN and a mobile. Version 2.1 often encodes accents as quoted-printable, 3.0 folds long lines with a leading space, 4.0 assumes UTF-8 and may embed a photo as a base64 block hundreds of lines long. Two files that look identical in Explorer can differ in all of it.

Copy-paste in a text editor is the obvious idea and the commonest way to break a file. ANSI encoding destroys umlauts and Chinese names, a byte-order mark becomes stray bytes, and a missing newline glues END:VCARD to the next BEGIN:VCARD. Nothing errors at merge time; the damage appears on the phone.

There is no single merge button here. The merge is a two-step route — several VCF files in, one table, one cleaned VCF out — and the table is the point: it is the only stage where duplicates are visible.

  1. Load all files at once. Open the VCF to Excel converter, drag in every .vcf, or select them together. Each file is parsed and appended to one preview table: files of 310, 240 and 90 cards become 640 rows, duplicates included.
  2. Check the preview. The table shows name, phones, emails, company, title, addresses and notes; disable what you do not need and add split first/last-name columns if you want to sort by surname. A file that contributed nothing shows up here — usually a wrong encoding, or not a real vCard.
  3. Clean the table. Sort by surname and phone, then Data → Remove Duplicates. Exact duplicates vanish; near-duplicates (+49 170 555… versus 0170 555…) do not, so normalize numbers first and delete the loser by hand. The guide to organising contact files into a clear spreadsheet covers the cleanup.
  4. Export, then convert back. Download the sheet as .xlsx; the CSV option adds a UTF-8 BOM for other tools. Open the Excel to vCard converter, upload the workbook, map name and phone, choose vCard 3.0, and generate. The result is one VCF with exactly the surviving rows; rows lacking a name or phone are skipped. If you kept a CSV, the separate CSV to vCard page accepts it.

Both tools run in the browser: JavaScript reads the files and writes the XLSX and VCF locally. Nothing is uploaded, no account is needed — which matters when the files hold customers rather than friends.

Method 2: Merge inside an address book

The other route needs no spreadsheet. Import each file into an address book and let the book hold the union: on iPhone, open the .vcf and add all contacts, or iCloud.com → Contacts → Import vCard; on a Mac, File → Import in Contacts; in Google Contacts, Import in the sidebar; in Outlook, File → Open & Export → Import/Export. Then select all and export — Apple and Google usually write the selection as one .vcf.

Two caveats. The address book does not reconcile: it will not decide whether the old or new mobile number is correct. And it is lossy: Google drops fields it does not model and resizes or discards photos, then exports its own version of the card.

Method 3: Concatenate the text files

A VCF is a sequence of blocks, so byte-level concatenation is legal:

cat contacts-1.vcf contacts-2.vcf contacts-3.vcf > merged.vcf

On Windows: copy /b contacts-1.vcf+contacts-2.vcf merged.vcf. Avoid PowerShell’s Get-Content/Set-Content, which can re-encode and add a BOM; Notepad copy-paste is fine for two small files.

The output is valid but not merged: duplicates remain. Three details decide whether it imports:

  • Trailing newline. A file ending in END:VCARD with no line break glues the next BEGIN:VCARD onto the same line, and parsers stop there.
  • Byte-order marks. A BOM at the start of the first file is harmless; mid-file it becomes stray bytes. Strip it from every later file.
  • Encoding. Quoted-printable 2.1 and UTF-8 4.0 coexist, but one ANSI save produces mojibake that nothing later repairs.

Fine for two exports from one phone; for ten files from different systems, verifying the result costs more than using a table.

How to check the merge and remove duplicates

Copy the originals somewhere safe first — cleanup edits the only copy of the merged data.

Then verify twice. Compare the row count with the number of BEGIN:VCARD occurrences (grep -c BEGIN:VCARD *.vcf); a shortfall means a file failed to parse. For content, sort by surname and scan for pairs, add a digits-only helper column, and highlight repeated numbers with conditional formatting. Confirm that a contact who had three phones still has three, and check accented and Chinese names at both ends. Remove Duplicates compares whole rows, so rows differing only in phone formatting both survive.

FAQ

Will merging lose fields?

The table route keeps the fields the converter maps — name, phones, emails, company, title, address, notes — and drops what the table does not carry: photos, birthdays, custom labels, messaging handles. Address-book import keeps more but rewrites the card; concatenation keeps everything and cleans nothing.

Can I import the merged VCF back into my phone?

Yes. Mail yourself the file and open it, or import it through Google Contacts, iCloud or Outlook. vCard 3.0 is the safest choice; use 4.0 only if the target asks. If a phone rejects it, suspect a missing newline between blocks or mixed encodings.

Is there a limit on how many files I can merge?

No fixed number is built in. Parsing happens in your browser, so the ceiling is your device’s memory and the tab, not a server quota. Files with embedded photos grow quickly; if the tab slows, merge in batches.

Is my contact data uploaded anywhere?

No. The browser reads the files, builds the preview, writes the XLSX and generates the VCF locally — no upload, no account.

Conclusion

Merging VCF files is two operations, not one: pooling the cards, then reconciling them. A spreadsheet is the only route that makes both visible, and the round trip costs minutes for a result you can audit. Start with the VCF to Excel converter above, load every file at once, clean the sheet, then write the final VCF.


Continue Reading

View All Posts