00 into + and drops the local trunk 0, giving the full international (E.164) format.Why the country code decides whether WhatsApp finds a contact
WhatsApp identifies every account by its full international number. When a contact is saved in local format (0812-3456-7890 or (11) 98765-4321) the phone has to guess the country, and it guesses your country. That works for neighbours, but it fails for every contact from abroad, for anyone whose WhatsApp is registered on a foreign SIM, and for lists that were typed in one country and imported in another. WhatsApp's own advice is to save contacts in full international format: a +, the country code, then the number without the leading 0.
How the converter decides: a number that starts with + or 00 is read as international. Anything else is read in the default country you pick above the preview. A number that only makes sense with its own country code (5511987654321 typed without the +) is recognised as such. When a number fits neither reading, the row is flagged check this number and exported exactly as typed, so you can fix it rather than lose it.
The Excel semicolon trap, and the 5.51E+12 trap
If your computer's region is set to Brazil, Germany, Spain, France, Italy, Indonesia or Turkey, the comma is the decimal separator, so Excel's "CSV" is actually separated by semicolons. Converters that assume commas put the whole row into the name field. This one counts the separators and picks ;, , or tab by itself, and respects a sep=; first line.
The second trap is worse because it destroys data. Excel treats a long phone number as a number: 5511987654321 is displayed as 5.51199E+12 and a leading 0 disappears. If you then save as CSV, Excel writes what it displays, and the missing digits are gone for good. Two ways around it:
- Drop the .xlsx itself here instead of re-saving it as CSV. The converter reads the value Excel stored, not the one it shows, so every digit survives.
- Numbers that lost their leading 0 are repaired by the default-country step above (
812…with Indonesia selected becomes+62812…). - If a CSV already contains
5.51199E+12, the digits were lost when it was saved. Go back to the original workbook or export.
Accents are the third, smaller trap. "CSV UTF-8" keeps João intact, while the older "CSV (Comma delimited)" option saves in Windows-1252. Both are detected here, so names don't come out as João.
Import the .vcf on iPhone
iCloud.com — best for a long list
- On a computer, open icloud.com/contacts and sign in.
- Click the + button, then Import Contact…
- Choose the .vcf. The contacts sync to every iPhone, iPad and Mac on that Apple Account.
AirDrop, Mail or Messages
- AirDrop the file from a Mac, or send it to yourself by email or message.
- Open it on the iPhone.
- Tap Add All Contacts (or Add All N Contacts).
Files app
- Save the .vcf to iCloud Drive or On My iPhone.
- Tap it to preview, then use the Share button and choose Contacts.
- The wording differs between iOS versions. If Contacts isn't offered, use AirDrop or Mail instead.
Before you import
Check Settings → Contacts → Default Account (on iOS 18: Settings → Apps → Contacts). New contacts go to that account. If it's set to Gmail or "On My iPhone", they won't reach iCloud.
Import on Android
Google Contacts app (Pixel and most phones)
- Copy the .vcf to the phone (Downloads or Drive).
- Open Contacts → Fix & manage → Import from file.
- Pick your Google account (not "Device") so the contacts sync and survive your next phone change.
Samsung Contacts
- Open Contacts, tap the menu (☰).
- Manage contacts → Import or export contacts → Import.
- Choose where the file is, then the account to save to.
contacts.google.com (no phone needed)
- Click Import, then Select file. It accepts .vcf and CSV.
- Imported contacts get a label like Imported on 9/26, so a bad import is easy to select and delete in one go.
- A Google account holds up to 25,000 contacts.
Then check WhatsApp
WhatsApp reads your phone's address book. On Android, open New chat → ⋮ → Refresh. On iPhone, make sure WhatsApp has access in Settings → WhatsApp → Contacts. Numbers that have no WhatsApp account won't appear there, which is expected.
vCard 2.1, 3.0 or 4.0?
2.1 is what Android's built-in export and older phones produce. Non-English letters are stored as QUOTED-PRINTABLE codes, so some apps show Jo=C3=A3o instead of João. 3.0 is plain UTF-8 text and is what iPhone, iCloud and Google Contacts export; it's the version every importer accepts. 4.0 is newer and not every phone importer accepts it. This converter writes 3.0 and reads all three, so it also fixes old files: drop a 2.1 .vcf and download it again as .vcf.
BEGIN:VCARD VERSION:3.0 N:Souza;João;;; FN:João Souza TEL;TYPE=CELL:+5511987654321 EMAIL;TYPE=INTERNET:joao@example.com END:VCARD
Common import errors and fixes
| What you see | Cause and fix |
|---|---|
| Only the first contact was imported | Outlook for Windows and some older desktop apps read only the first card of a multi-contact .vcf. Import a CSV there instead: choose CSV above, or use VCF to CSV. |
Names look like João or =C3=A3 | An encoding mismatch, or a vCard 2.1 file opened by an app that only understands 3.0. Run the file through here and import the new .vcf. |
| Every contact's name is the whole row | The CSV uses semicolons and the importer expected commas. The separator is detected here, so the .vcf comes out right. |
Numbers show as 5.51199E+12 or lost their 0 | Excel changed them. Use the .xlsx, and pick the right default country. |
| Imported, but not visible in WhatsApp | Usually numbers without a country code, or WhatsApp hasn't refreshed yet. Convert with the right default country and refresh as described above. |
| Everyone appears twice | The list was imported twice, or it had duplicates. Leave "Merge duplicate numbers" on. Already imported? Use Fix & manage → Merge & fix in Google Contacts, or the Duplicates Found card in iPhone Contacts (iOS 16 and later). |
Contacts in WhatsApp rather than in a spreadsheet? If the people you want are in your WhatsApp (your saved contacts, a group you run, people you've chatted with), Tooly, our Chrome extension, exports your own WhatsApp Web contacts straight to vCard, already in international format. See how exporting WhatsApp contacts to vCard works or get it from the Chrome Web Store. Free, read-only, on your device.
Frequently asked questions
Is my contacts file uploaded anywhere?
No. The file is read and converted by JavaScript inside your browser tab and the .vcf is created on your device. No part of the file or its contacts is sent to a server.
Can I convert an Excel file directly, without saving it as CSV?
Yes, drop the .xlsx file. Reading the workbook directly is safer than re-saving as CSV, because Excel can turn long phone numbers into values like 5.51199E+12 when it writes a CSV. Old .xls and Numbers files need to be saved as .xlsx or CSV first.
Why are some numbers marked "check this number"?
They are not valid phone numbers for the default country you chose, and not valid as international numbers either. Usually a digit is missing or the number belongs to another country. They are still exported exactly as typed, so nothing is lost.
Does it keep several phone numbers for one contact?
Yes. Every column mapped as a phone (for example Phone 1 and Phone 2, or Mobile and Work) becomes its own TEL line in the same vCard, keeping mobile, home and work types when the source has them.