How to Import Contacts Into Salesforce (2026 Guide)
Salesforce gives you two built-in tools to import contacts: the Data Import Wizard (up to 50,000 records, browser-based, no install) and Data Loader (up to 5 million records, desktop app, more control). The Wizard handles 80% of imports, the typical “load contacts from a CSV”, and Data Loader takes over when you have huge files or need scheduling.
Here’s how to use both.
1. Prepare Your CSV
Most failed imports trace back to messy CSVs. Get this step right and the rest is fast.
Required and recommended columns
For contacts, Last Name is the only field Salesforce strictly requires. In practice, plan for these columns:
- First Name and Last Name
- Email (used for duplicate matching)
- Account Name (the company the contact belongs to, Salesforce will create or look up the matching Account)
- Phone, Title, Mailing Address
- Lead Source (helpful for attribution)
- Any custom fields you’ve added to the Contact object
Format rules
- First row = headers. Use exact field names where possible (e.g., “First Name” not “FirstName”). The Wizard auto-maps when names match.
- Save as CSV (UTF-8). In Excel: File > Save As > CSV UTF-8. In Google Sheets: File > Download > Comma-separated values. UTF-8 prevents accents and special characters from breaking.
- Date format: use
MM/DD/YYYY(matches your org locale) for date fields. - Picklist values: must match exactly. If a Lead Source picklist allows “Web,” “Trade Show,” “Referral,” any other value gets rejected (unless you have Strict Picklist off).
- Phone formats: any format works. Salesforce stores phones as text.
- Country and state: if your org uses State and Country Picklists, use the integration values (e.g., “United States” or “US”).
Clean before import
- Remove duplicates within the file itself.
- Trim leading/trailing whitespace.
- Validate email addresses, invalid emails bounce later anyway.
- For account assignment, decide: do you want the import to create new accounts for unknown company names, or only match to existing accounts?
2. Use the Data Import Wizard (Up to 50,000 Records)
The Data Import Wizard is the right tool for almost every contact import under 50k records.
Launch the Wizard
- Go to Setup (gear icon).
- In the Quick Find box, type Data Import Wizard.
- Click Data Import Wizard > Launch Wizard.
Step 1, Pick what to do
- Choose Standard Objects > Contacts.
- Pick the operation:
- Add new records: only insert; rejects duplicates
- Update existing records: only update; rejects records not found
- Add new and update existing records (upsert), most common
- Pick a matching field to identify existing records:
- Salesforce.com ID: most reliable, requires Id column in CSV
- Email: common for contacts
- External ID: if you’ve defined one on Contact
- Optionally tick Trigger workflow rules and processes so flows and email alerts fire.
- Click Next.
Step 2, Upload the file
- Drag your CSV into the upload area or click to browse.
- Confirm the character encoding (UTF-8 is default and right for most files).
- Confirm the value delimiter (Comma).
- Click Next.
Step 3, Map fields
- The Wizard auto-maps any column whose header matches a Salesforce field name.
- For each unmapped row, click Map and pick the correct field from the dropdown.
- To skip a column, leave it unmapped.
- Click Next.
Step 4, Review and import
- Review the summary, record count, mapping count, matching field.
- Click Start Import.
The Wizard runs in the background. You’ll get an email when it finishes. To monitor in real time, go to Setup > Bulk Data Load Jobs (or Data Import Wizard > Recent Imports).
3. Use Data Loader (Over 50,000 Records)
When your file exceeds 50k or you need scheduling and more control, Data Loader is the next step.
Install Data Loader
- Go to Setup > search Data Loader.
- Download for Windows or Mac.
- Run the installer.
Insert contacts
- Open Data Loader and click Insert (or Upsert if you want to match existing records).
- Log in with username + security token, or use OAuth.
- Choose Contact as the object.
- Browse to your CSV.
- Click Create or Edit a Map > Auto-Match Fields to Columns to map by header name. Adjust unmapped fields manually. Click OK.
- Choose where to write success and error logs.
- Click Finish.
Data Loader processes records in batches (default 200 per batch). For files over 10k, enable Bulk API in Settings > Use Bulk API for much faster throughput.
Review results
- success.csv: every successfully inserted record with its new Salesforce Id.
- error.csv: every failure with a reason. Most common: validation rules, required fields missing, FLS, duplicate rules.
Fix the errors in your CSV and re-run only the failed rows.
4. Handle Account Assignment
Contacts in Salesforce belong to Accounts. The import has to handle this somehow:
Option A, Match by Account Name
Include an Account Name column. The Data Import Wizard:
- Looks up an existing Account with that exact name. If found, attaches the contact.
- If not found, creates a new Account with that name.
This is fast but creates duplicate accounts if your CSV has slight variations (“Acme Inc” vs “Acme Inc.”).
Option B, Match by Account ID
Include the Salesforce Account ID in the CSV (column header: AccountId). This is more reliable but requires you to look up IDs first, usually via a Salesforce report exported with Account ID as a column.
Option C, Import without an Account
Leave the Account column blank. Contacts import as “private” contacts not tied to any account. Salesforce calls these Orphan Contacts. They show up in lists but aren’t linked to an account record.
5. Avoid Duplicate Contacts
Salesforce duplicate rules can block, alert, or allow duplicates during import. Check your duplicate rules first:
- Go to Setup > Duplicate Rules.
- Find the Standard Contact Duplicate Rule (or any custom rules).
- If the Action on Create is set to Block, duplicates from your import will be rejected, they appear in the error log.
- If it’s Allow or Allow with alert, duplicates import but get logged.
For controlled imports, set the rule to Block and use the matching field in the Wizard (Email or External ID) to upsert instead of creating dupes.
Quick Reference: Import Methods
| Tool | Max records | Operations | Browser or desktop | Best for |
|---|---|---|---|---|
| Data Import Wizard | 50,000 | Insert, Update, Upsert | Browser | Most contact imports |
| Data Loader | 5 million | Insert, Update, Upsert, Delete, Hard Delete, Export | Desktop (Win/Mac) | Large files, automation |
| Third-party tools (Cloudingo, Demandtools) | Varies | All + dedupe | Desktop / web | Mass cleanup with dedupe in one pass |
Common Errors and Fixes
| Error | Fix |
|---|---|
Required fields missing: [LastName] | Add a Last Name column to the CSV |
INVALID_EMAIL_ADDRESS | Validate email format, remove blanks if email is required |
DUPLICATE_VALUE | Adjust the duplicate rule to Allow or use Upsert with a matching field |
INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST | Match the picklist value exactly, or add the value to the picklist |
FIELD_CUSTOM_VALIDATION_EXCEPTION | A validation rule rejected the record: check Setup > Validation Rules |
Insufficient access rights on cross-reference id | Account ID points to an account the user can’t access |
STORAGE_LIMIT_EXCEEDED | Org is out of data storage: clean up or buy more |
Which Method Should You Use?
- Under 50k contacts, no automation needed? Data Import Wizard. Browser-based, no install.
- Over 50k, or need command-line / scheduled imports? Data Loader.
- Importing once a quarter for a marketing list? Wizard.
- Daily sync from another system? Data Loader CLI or a middleware tool (MuleSoft, Workato, native APIs).
- Cleaning up duplicates as part of import? A third-party tool like Cloudingo or Demandtools.
Stop Importing the Same List From Five Tools
If you’re importing contacts from a webinar tool, then again from a webform, then again from an event scanner, that’s three CSV uploads for one set of people. Carly is an AI assistant that connects to 200+ apps including Salesforce and handles the repetitive work for you, including syncing contacts between systems automatically.
More on Salesforce: How to merge leads in Salesforce · How to bulk edit in Salesforce · How to export data from Salesforce · How to connect Salesforce to an AI agent · Best AI CRM tools
Ready to automate your busywork?
Carly schedules, researches, and briefs you—so you can focus on what matters.
Get Carly Today →Or try our Free Group Scheduling Tool or Free Booking Page