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
How to build your first sales pipeline
Create a Kanban-style sales pipeline in NerdCRM with named stages, probabilities, and per-stage automation. Recommended templates for phone-heavy teams.
How to set up call recording with MicroSIP
Step-by-step guide to install MicroSIP and the NerdCRM recorder agent on Windows so your calls auto-link to deals.