Skip to content
TheSpreadFix

How to Clean a CSV Before Importing into HubSpot

Updated

Most failed or messy HubSpot imports come from a handful of fixable problems in the file. Work through this checklist before you upload and you'll get fewer errors, fewer duplicate contacts, and properties that are actually usable for segmentation.

1. Make the header row importer-friendly

HubSpot maps each column to a property using the header row. Make sure the first row contains the headers (no title rows above them), every column has a name, and no two columns share a name. Use names close to HubSpot's properties — “First Name”, “Last Name”, “Email”, “Phone Number”, “Company Name”, “Country/Region” — so automatic mapping works.

Delete columns you don't intend to import, and completely empty columns.

2. Clean and deduplicate email addresses

For contacts, the email address is how HubSpot identifies a person: a row with an existing email updates that contact instead of creating a new one. That makes the email column the most important one in the file.

  • Trim spaces and lowercase every address.
  • Remove wrappers such as “mailto:” or “Name <email>”.
  • Fix or remove invalid addresses (missing @, missing domain).
  • Remove duplicate rows for the same email within the file — otherwise the last one processed silently wins. Keep the most complete row.

3. Use one phone number format

Phone numbers are far more useful — for calling, SMS integrations and matching — when they include the country code. Convert them to international E.164 format (+919876543210, +14155552671). Decide which country national numbers belong to rather than letting a tool guess.

4. Make dates unambiguous

Date properties need one consistent format per column. Mixed formats — 25/03/2024 next to 2024-03-26 — cause errors or, worse, wrong dates. Convert every date to YYYY-MM-DD, and resolve ambiguous values like 03/04/2024 by confirming whether the source was day-first or month-first.

5. Standardise dropdown-style values

Properties with a fixed set of options (country, lifecycle stage, lead status, industry) only accept values that match the options. Normalise spellings first: India / IN / IND / india should all become one value. Check the internal option values in HubSpot's property settings and make the file match them.

6. Remove empty and junk rows

  • Blank rows left over from filtering.
  • Rows with no email and no name — they can't be matched to anyone.
  • Test entries (test@test.com, “asdf”) from form spam.

Checklist

CheckWhy it matters
Unique, named headers in row 1Columns map to the right properties
Emails trimmed, lowercased, validContacts match instead of duplicating
No duplicate emails in the fileNo silent overwrites during import
Phones in E.164Usable for calling/SMS, consistent display
Dates in YYYY-MM-DDNo rejected or shifted dates
One spelling per country/optionValues match dropdown options
No blank or junk rowsCleaner database, fewer errors

TheSpreadFix checks all of these in one Data Health Report and lets you fix them before you download the import file. Save the fixes as a recipe to prepare the next import the same way.

Frequently asked questions

Should I import CSV or Excel into HubSpot?

Both work. If you use CSV, save it as UTF-8 so accented names import correctly.

Will re-importing create duplicates?

For contacts, rows whose email already exists update the existing contact. Duplicates usually come from rows without emails or from inconsistent email formatting.