Salesforce does not import VCF files. Its Data Import Wizard only accepts CSV. The process is always two steps: convert your VCF to CSV first, then import the CSV into Salesforce using the Data Import Wizard. During the import, you map your CSV columns to Salesforce contact fields Last Name is required and the import fails without it. The wizard handles up to 50,000 records per import. Above that you need Salesforce Data Loader.
Salesforce Does Not Accept VCF Files
If you have a VCF file and want to get those contacts into Salesforce, there is something every guide should say upfront but most do not.
Salesforce’s Data Import Wizard does not accept VCF files. It never has. The only supported import format is CSV. So regardless of how many contacts are in your VCF file or where it came from iPhone, Android, Google Contacts, Outlook or a CRM export you need to convert it to CSV before Salesforce will touch it.
This is not a workaround. It is the standard process. Convert to CSV, map the fields, import. Three steps that every VCF-to-Salesforce migration follows.
Step 1: Convert Your VCF to CSV
The conversion maps each vCard property to a CSV column. First Name, Last Name, Email Address, Phone, Company, Title these all transfer cleanly. Some vCard fields like UID, vCard version and photo data do not translate to CSV and are dropped during conversion, which is correct behaviour.
Use Univik VCF Converter to convert your VCF file to CSV on Windows. Load the VCF file, select CSV as the output format and export. The converter produces a CSV with column headers that match standard field names making Salesforce’s auto-mapping more accurate in the next step. For a detailed walkthrough of the conversion process and what happens to each field, see our VCF to CSV guide.
Deduplicate the VCF before converting
CRM exports and merged contact lists frequently contain duplicate entries. A duplicate in your VCF becomes a duplicate contact in Salesforce after import and Salesforce’s deduplication rules may or may not catch it depending on your org configuration. Clean the VCF first using Univik vCard Duplicate Remover, then convert the cleaned file to CSV.
VCF to Salesforce Field Mapping
This is the step where most imports go wrong. Understanding how vCard properties map to Salesforce Contact fields prevents the most common errors before they happen.
| VCF Property | Salesforce Contact Field | Notes |
|---|---|---|
N (structured name) |
Last Name, First Name | Last Name is required. Import fails for any record missing Last Name. |
FN (formatted name) |
Not a direct Salesforce field | Map to a custom field or ignore. Salesforce combines First Name + Last Name automatically. |
ORG |
Account Name | Salesforce looks up or creates an Account record based on this value. If the Account already exists, the contact is linked to it. |
TITLE |
Title | Maps directly. No transformation needed. |
EMAIL |
If multiple email types exist (home, work), only one maps to the standard Email field. Create custom fields for additional addresses. | |
TEL (work) |
Phone | Salesforce Phone field. Additional numbers map to Mobile, Home Phone or custom fields. |
TEL (mobile) |
Mobile Phone | Maps to the Mobile field on the Contact object. |
ADR |
Mailing Street, City, State, Zip, Country | vCard address is a single structured field. It must be split into separate columns in the CSV one per Salesforce address component. |
NOTE |
Description | Maps to the Contact Description field. Plain text only. |
BDAY |
Birthdate | Format must match your Salesforce org’s date format setting (MM/DD/YYYY or DD/MM/YYYY). |
URL |
No standard field | Map to a custom field if needed. Not on the standard Salesforce Contact object. |
PHOTO |
Not supported in CSV import | Contact photos cannot be imported via CSV. Add photos to Salesforce contacts manually or via API after the import. |
The address field split is the most common CSV preparation failure
VCF stores a full address in one structured field. CSV needs each component in a separate column Street, City, State/Province, Postal Code, Country. If your CSV has a single “Address” column with the full address as one string, Salesforce cannot parse it. Split the address column in Excel or Google Sheets before uploading. Use the Text to Columns function with a comma delimiter if the address components are comma-separated in the export.
Step 2: Clean the CSV Before Importing
A clean CSV is the difference between a smooth import and an hour of troubleshooting error logs.
Ensure Last Name is populated for every row. Salesforce requires Last Name on every Contact record. Any row with an empty Last Name column will fail during import. Filter your CSV for blank Last Name values and fill them in or remove those rows before uploading.
Standardise phone number format. Salesforce does not enforce a specific phone format but inconsistent formatting makes the data harder to use. Decide on one format (for example, +1-555-123-4567 or (555) 123-4567) and apply it consistently across the Phone and Mobile columns before import.
Check date format matches your Salesforce org. If you have Birthdate or any date field in the CSV, the format must match your org’s locale setting. A US org typically expects MM/DD/YYYY. A UK org expects DD/MM/YYYY. Open Setup then Company Settings then Company Information to check your org’s locale.
Save the CSV as UTF-8 encoded. When you save a CSV from Excel, use “CSV UTF-8 (Comma delimited)” rather than standard “CSV”. Standard CSV from Excel can corrupt special characters in names accented letters, non-Latin scripts which then import as garbled text into Salesforce.
Step 3: Import Using the Data Import Wizard
Open the Data Import Wizard. In Salesforce, click the gear icon (Setup) then search for “Data Import Wizard” in the Quick Find box. Click Launch Wizard. Non-admin users can access it via their profile settings if the administrator has granted access.
Select Contacts as the object. Choose Standard Objects then Contacts. Select the action Add new records if these are new contacts or Update existing records if you are updating records that already exist in Salesforce and have a matching field (like email address or Salesforce ID).
Upload your CSV file. Drag the CSV into the upload area or click Browse to select it. Salesforce reads the column headers and prepares the field mapping screen.
Map your CSV columns to Salesforce fields. The wizard auto-maps columns where the header name matches a Salesforce field name. Any column it could not match appears as “Unmapped.” Use the field mapping table above to manually map the unmapped columns. You do not need to map every column only the fields you want to import.
Review and start the import. The wizard shows a summary of how many records will be imported and how many fields are mapped. Click Start Import. Salesforce processes the records in the background. You receive an email when the import is complete with a success count and an error log for any failed records.
The 50,000 Record Limit
Salesforce’s Data Import Wizard processes a maximum of 50,000 records per import operation. This covers the vast majority of VCF contact imports a VCF file with 50,000 contacts is extremely large for a single-source export.
If your contact list exceeds 50,000 records, split the CSV into multiple files of under 50,000 rows each and run the import multiple times. The wizard does not support splitting a file for you you need to split the CSV before uploading.
For organisations with more than 150,000 records or those who need scheduled or automated imports, Salesforce recommends using the Data Loader instead of the Import Wizard. Data Loader requires Java and API access but removes the 50,000 record ceiling and supports automation via command line.
Check your storage limit before importing
Salesforce enforces a data storage limit per org based on your edition and number of users. If your storage is near capacity, the import will fail partway through. Check your storage usage before a large import: Setup then Environments then System Overview. If storage is the issue, delete or archive unnecessary records before importing.
Common Import Errors and Fixes
“Required field missing: Last Name.” One or more rows in your CSV have an empty Last Name column. Filter the CSV for blank Last Name values, fill them in and re-upload.
“Account Name does not match an existing account.” Salesforce tries to link the contact to an Account using the Company/Account Name field. If no matching Account exists in your org, the contact is still created but is not linked to any account. If you need Account linking, create the Accounts first or use the upsert option.
Duplicate contacts created. Salesforce’s duplicate rules are configured per org. If your org has no duplicate rules set up or they are not checking on import, duplicates will be created for any contacts that already exist. Enable Duplicate Management rules in Setup before importing or run a post-import deduplication using Salesforce’s Duplicate Jobs feature.
Special characters imported as garbled text. The CSV was not saved as UTF-8. Open the CSV in Excel, check the encoding when saving and choose “CSV UTF-8 (Comma delimited)” not standard “CSV”.
Import completes but some fields are blank. Those CSV columns were not mapped during the import. The wizard only imports mapped fields. Go back through the field mapping step and ensure every column you need is mapped to a Salesforce field.
Frequently Asked Questions
Can Salesforce import VCF files directly?
No. Salesforce’s Data Import Wizard and Data Loader only accept CSV format. VCF files must be converted to CSV before import. This is true for all Salesforce editions Professional, Enterprise, Unlimited. There is no VCF import option in any native Salesforce tool.
What is the maximum number of contacts I can import to Salesforce at once?
The Data Import Wizard handles up to 50,000 records per import. For larger contact lists, split the CSV into chunks of under 50,000 rows and run multiple imports. For very large datasets above 150,000 records or for automated recurring imports, use Salesforce Data Loader instead.
Which fields are required for a Salesforce Contact import?
Last Name is the only mandatory field for a Contact import via the Data Import Wizard. Any record in your CSV with a blank Last Name will fail and appear in the error log. All other fields are optional but need to be mapped to the correct Salesforce field during the import wizard’s mapping step.
Will importing contacts create Account records automatically?
If a Company or Account Name value in your CSV does not match an existing Account in Salesforce, the wizard’s behaviour depends on the import action you selected. With “Add new records,” it may create a new Account or leave the Contact unlinked depending on your org settings. To ensure correct Account linking, create or verify Account records before importing Contacts.
How do I import multiple phone numbers per contact into Salesforce?
Salesforce’s standard Contact object has separate fields for Phone, Mobile Phone and Home Phone. In your CSV, put each phone number in a separate column and map each column to the appropriate Salesforce field during the import. If you have more than three phone numbers per contact, you need custom fields on the Contact object to hold the additional numbers.
Can I import contact photos from a VCF file into Salesforce?
No. CSV files cannot carry image data and the Data Import Wizard has no mechanism for importing contact photos. Photos must be added to Salesforce contacts manually through the contact record in the UI or programmatically via the Salesforce API after the import is complete.
Conclusion
Importing VCF contacts into Salesforce is a two-step process: convert to CSV first, then import using the Data Import Wizard. The conversion step is where most people lose data fields that do not map cleanly, address components that stay merged in one column and duplicates that carry over from the source file. Clean those up before the CSV goes anywhere near Salesforce.
The import itself is simple once the CSV is ready. Map the columns, check that Last Name is populated everywhere and let the wizard run. The error log after the import tells you exactly which records failed and why. Read it before assuming the import is complete.
Is the contact list you are importing coming from a phone export, another CRM or a manual VCF file? That usually determines which fields will need the most attention during mapping.