← Back to guides

HubSpot import guide

HubSpot import duplicate contacts / duplicate email

Duplicate contacts usually start with email identity. HubSpot can use Email to match existing contacts during import, so duplicate or blank Email values deserve review before upload.

What the error means

HubSpot uses Email as a key contact identifier. If two CSV rows use the same email address, an import can update or dedupe against the same contact instead of creating two separate people.

Blank Email values are a different risk. HubSpot can still create a contact from First name or Last name, but email-keyed matching, updates, and duplicate-safe imports will not apply to that row.

Why duplicate contacts happen

Duplicate contacts often come from merged exports, repeated form submissions, CRM-to-spreadsheet round trips, or copied rows that were not deduped before import. Even when the rows look slightly different, the same email can make HubSpot treat them as the same contact identity.

  • Case changes such as ALEX@example.com vs alex@example.com should be reviewed as duplicates.
  • Extra spaces around an email can hide a duplicate in a spreadsheet view.
  • Fully duplicate rows usually mean the source export was appended or copied twice.
  • Name-only rows can create contacts, but they are harder to match safely later.

How to fix it manually

  1. Sort or filter by Email after trimming obvious leading and trailing spaces.
  2. Choose which row is the source of truth when the same email appears more than once.
  3. Merge useful field values into one row instead of importing conflicting duplicates.
  4. Review rows with First name or Last name but no Email before using them for updates.
  5. Keep a backup of the original export before deleting duplicate rows.

How ReadyCSV flags duplicate-contact risk locally

ReadyCSV flags repeated Email values as duplicate_email warnings. The comparison is case-insensitive and ignores whitespace inside the email value, so Alex@example.com and alex@example.com are reviewed as the same email.

ReadyCSV also flags fully repeated rows as duplicate_row warnings, and it flags rows with a blank Email but present First name or Last name as email_recommended_for_dedup warnings. These are review signals, not automatic deletes or HubSpot-side merge actions.

For broader setup, start with how to format a CSV for HubSpot import, then review the invalid email guide and missing required fields guide.

Related HubSpot import guides

How to format a CSV for HubSpot import

Use an end-to-end HubSpot contact CSV checklist before uploading: identity, headers, emails, dates, phones, owners, encoding, and enums.

HubSpot import date format errors

Fix HubSpot date columns that use Excel serials, written-out dates, dots, or unsupported formats.

HubSpot invalid email import error

Understand INVALID_EMAIL, INVALID_DOMAIN, duplicate emails, and additional email address imports.

HubSpot lifecycle stage import error

Check lifecycle stage and lead status values before HubSpot rejects an import row.

HubSpot import missing required fields

Fix contact rows missing First name, Last name, and Email before a HubSpot import.

HubSpot contact owner import error

Review Contact owner values that need an active HubSpot user email or internal owner value.

HubSpot CSV column format errors

Fix duplicate headers, blank headers, and rows with extra cells before importing a CSV.

HubSpot phone number format import

Review HubSpot phone number format import risks and use E.164-style values before uploading contacts.

HubSpot import special characters broken / UTF-8 encoding CSV

Fix CSV encoding workflows when HubSpot import special characters look broken, such as José instead of José.

HubSpot import unmapped / unrecognized columns

Review unmapped CSV headers, manual mapping risks, and local mapping suggestions before HubSpot import.

HubSpot website URL import format

Clean Website URL values, whitespace, and clearly invalid website text before importing contacts.

View all guides

Check your CSV before importing

ReadyCSV preflights HubSpot contact CSVs locally in your browser. Your CSV contents stay on your device: no upload, no account, no AI calls, and no license server call for local checks.

It is still your responsibility to review every finding, cleaned export, Issue Report, and HubSpot import setting before importing. ReadyCSV cannot guarantee that HubSpot will accept every row.

Open ReadyCSV local preflight