How to import contacts from a CSV
Bulk-import contacts into NerdCRM with the built-in CSV importer. Field mapping, duplicate handling, and tips for clean data.
How to import contacts from a CSV
The fastest way to get started is to bring your existing contacts in. NerdCRM has a built-in CSV importer that handles field mapping, deduplication, and batched inserts.
What works as input
- A CSV file with one row per contact
- A header row with column names
- UTF-8 encoding (export from Excel as CSV UTF-8, not the default)
- Common columns we recognize:
firstName,lastName,email,phone,company,jobTitle,tags,notes
We don’t require any of these; we let you map columns to fields manually.
Step 1 — Open the importer
Settings → Import → Contacts — drop your CSV file into the upload area, or click Choose file.
Step 2 — Map the columns
The importer auto-detects common header names. Review each mapping; you can:
- Map any CSV column to a NerdCRM field
- Skip columns you don’t want imported
- Set a default value (e.g., a tag of
imported-from-bigin) for every row - Choose what to do on duplicate emails: skip, update, or create
Step 3 — Choose how to assign company and pipeline
If your CSV has a company column, we’ll create or match companies as we go. If you also want to create a deal for each contact, check Create deal and pick the pipeline + starting stage.
Step 4 — Preview, then import
The preview shows the first 10 rows mapped to NerdCRM fields. If anything looks wrong (especially phone numbers), fix the CSV and re-upload. Once it looks right, click Start import.
Imports run in batches of 100 rows. For large files (10k+ rows), you’ll see a progress bar and a summary email when the import finishes.
Phone-number formatting
For call recording auto-link to work, phones should be in E.164 format (e.g., +15551234567, +8801711111111). If your source has formats like (555) 123-4567, we’ll auto-normalize during import — but it’s worth checking a few rows manually for accuracy.
Duplicate handling
Default behavior: if a contact’s email already exists in your org, skip the row. Override at import time:
- Skip — never write, just log
- Update — merge new fields onto the existing contact
- Create — write anyway (creates a duplicate)
We dedupe by email; if your CSV doesn’t have email, dedup is by phone number, otherwise no dedup.
After the import
- Review Imports → Recent to see counts: created, updated, skipped, failed
- Failed rows are downloadable as a CSV with a reason column for each — fix and re-import
- All imported records get a
import-batch-{timestamp}tag so you can find them as a group later
Common gotchas
- Excel auto-formats phone numbers — wrap them in quotes inside the CSV or save as text
- Trailing whitespace in emails — we trim, but it’s better to clean upstream
- Mixed encodings — save as CSV UTF-8 in Excel, not just CSV
- Missing first/last name — we accept either or both; rows with neither are flagged
See it in action
A read-only demo with phone-heavy sales data, ready in one click. No signup required.
More from help
Your free allowance, and what happens when it runs out
Call recording, WhatsApp outreach and cold email include 100 free units each on the free plan. Here's how the allowance works and what changes when you upgrade.
How billing and users work
What you pay for, how seats are counted, what the free plan includes, and what happens when you add or remove people.
How to run a cold email campaign
Set up a sending domain, build a sequence, enrol contacts and handle replies — cold email outreach from inside NerdCRM.