How-to

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.

Updated October 24, 20264 min read

The fastest way to get started is to bring your existing contacts in. NerdCRM has a built-in CSV importer that matches your columns to contact fields, shows you what will happen before anything is written, and handles duplicates the way you choose.

What works as input

  • A .csv file up to 10MB, with one row per contact
  • A header row with column names
  • UTF-8 encoding (export from Excel as CSV UTF-8, not the default)
  • A name for every contact, in a First name, Last name or Full name column
  • Any of these fields: First name, Last name, Full name, Email, Phone, Mobile phone, WhatsApp, Job title, Company, Tags, Source, Description and Priority

You don’t need all of them. The importer suggests a field for each column from its header, and you can change any match.

Step 1 — Open the importer

On a computer, open Contacts, click Import and choose Import from CSV. The Import contacts dialog opens on its first step, Upload.

Choose a file or drag it in. If you’d like a head start, click Download template for a sample file with the columns we read. Then click Map columns.

Step 2 — Map the columns

The Map columns step lists every column in your file next to a few sample values, with the field it maps to. The status line tells you how many columns matched, and flags the ones to check. You can:

  • Change what any column maps to
  • Leave a column out
  • Click Save this mapping for next time — the next file with the same columns uses it

On the right, What will happen counts the rows in your file as New contacts, Duplicates (by phone or email) and Rows with errors, and it updates as you change the mapping. If rows have errors, you can open the list to see each row and why.

Below it, choose what to do with duplicates:

  • Update them with the file’s values (the default)
  • Skip them and give me the list
  • Fill in blank fields on the existing contact
  • Import as new contacts anyway

Admins can also pick the Owner of the new contacts. Source fills the source for rows that don’t have one of their own.

If your file has a Company column, we create or match companies as we go.

Step 3 — Review, then import

Click Review (the button shows how many contacts) to see exactly what the import will do: how many contacts are added, what happens to the duplicates, how many rows are left out, and which columns go where. If anything looks wrong, click Back and fix the mapping, or fix the CSV and upload it again. When it looks right, click the Import button, which also shows the count.

A large file can take a minute. Keep the window open until it finishes.

Phone-number formatting

Keep phone numbers in full international format, with the country code (for example +15551234567 or +8801711111111). NerdCRM compares numbers by their digits when it looks for duplicates and when it links call recordings to contacts, so spaces and dashes don’t matter, but a missing country code can stop a call from finding its contact.

Duplicate handling

A row is a duplicate when its email or phone number already belongs to a contact in your organization. You choose what happens in step 2:

  • Update them with the file’s values — the file wins where it has a value, and it never blanks out a field the file leaves empty
  • Skip them and give me the list — nothing is written, and you can download the matched rows when the import finishes
  • Fill in blank fields on the existing contact — only empty fields are filled; existing values stay
  • Import as new contacts anyway — writes the rows even though they match, which creates duplicates

After the import

The last step shows the result: Added, Updated, Skipped and Failed counts. From there you can:

  • Click Download the list to get the duplicate rows that were skipped
  • Open Rows not imported to see each failed row, its field and what happened — fix those rows in your CSV and import just them again

To find an imported batch later, add a Tags column to the file (for example imported-oct) and filter Contacts by that tag.

Companies and Deals have an Import button of their own, with their own template. Companies are skipped if you already have one with the same domain or name. Deals are created without a pipeline, and are linked to an existing contact or company when the file names one.

Common gotchas

  • Excel mangles long phone numbers — it shows 1.7E+10. Format the column as text before you save
  • 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 name — a row with no first name, last name or full name is reported as an error and left out

See it in action

A read-only demo with phone-heavy sales data, ready in one click. No signup required.

More from help