How to Import Contacts into HubSpot (2026 Guide)
HubSpot accepts CSV and Excel imports for every standard object, contacts, companies, deals, tickets, products, and custom objects. The import wizard is straightforward, but two things will save you a lot of time: cleaning the file before you upload, and understanding how HubSpot deduplicates by email.
Here’s the full process, plus the gotchas to avoid in 2026.
1. Prepare Your CSV Before You Upload
A clean file makes the rest of the import painless. Spend 5 minutes here and you save 30 minutes of error fixing.
Format:
- Save as CSV (UTF-8) or XLSX.
- One row per contact. The first row is column headers.
- File size limit: 512 MB per file, 1,048,576 rows max.
Required column for contact imports:
- Email: required to create new contacts. HubSpot uses Email as the default unique identifier.
Strongly recommended columns:
- First Name, Last Name: populate the contact name.
- Lifecycle Stage: defaults to Lead if blank, but explicit is better.
- Lead Source / Original Source: for attribution.
- HubSpot Owner: assign ownership at import.
Format the data right:
- Dates:
MM/DD/YYYYorYYYY-MM-DD. Pick one and stay consistent. - Phone: include country code (
+1 415 555 0123) so HubSpot’s number cleanup works. - Multi-select properties: separate values with semicolons (
Newsletter;Product Updates). - Booleans:
true/falseorYes/No.
Cleanup checklist:
- Remove duplicate rows in your CSV (HubSpot dedupes against existing records, not against your file).
- Trim whitespace from emails.
- Lowercase emails to avoid weird mismatches.
- Drop columns you don’t need, fewer columns means faster mapping.
2. Run a Single-Object Contact Import
This is the most common path: one CSV, contacts only.
- Go to CRM > Contacts.
- Click Import in the top right.
- Click Start an import.
- On the import type screen, choose File from computer and click Next.
- Choose One file, then One object > Contacts, and click Next.
- Upload your CSV or XLSX file and click Next.
Map columns to properties
HubSpot tries to auto-match column headers to existing properties. Anything it can’t match shows up with a yellow warning.
- For each column, click the dropdown and pick the matching HubSpot property, or click Create new property to make one on the fly.
- Make sure Email maps to the Email property. A small key icon appears next to it when it’s set as the unique identifier.
- For columns you don’t want to import, click Don’t import column in the Import As dropdown.
- Click Next.
Pick the import behavior
On the Details step, choose:
- Create and update (default), creates new contacts for unmatched rows, updates existing contacts where the email matches.
- Create only: adds new contacts; skips rows that match existing records.
- Update only: updates existing contacts; skips rows without a match.
Other useful toggles on this step:
- Set contacts as marketing contacts: counts these toward your marketing contacts seat (Marketing Hub Starter+).
- Set the language for column headers: affects auto-mapping accuracy if your file is in another language.
- Name the import (this shows up in your import history).
- Click Finish import.
HubSpot processes the file in the background and emails you when it’s done. Small files finish in seconds; large files can take an hour or more.
3. Import Multiple Objects at Once
Real CRM data isn’t just contacts, it’s contacts linked to companies, deals, and sometimes tickets. HubSpot’s multi-object import handles all of it in one job.
- Go to CRM > Contacts > Import > Start an import.
- Choose Multiple files with associations.
- Upload separate files for each object (e.g.,
contacts.csv,companies.csv,deals.csv). - Upload an associations file that maps the relationships, typically two columns like Contact Email and Company Domain, or Deal Name and Contact Email.
- Map columns for each file, plus the associations file.
- Click Finish import.
This is the cleanest way to migrate from another CRM. Setting up associations after the fact is much more painful than getting them right at import.
Tier note: Multi-file imports work on all paid tiers. Importing association labels (custom relationship types like “Decision Maker” or “Billing Contact”) requires Professional or Enterprise.
4. How Deduplication Works
HubSpot deduplicates contacts by Email by default. Other rules apply too:
- Email match: primary dedupe key. If a row’s email matches an existing contact, the row updates that contact (in Create and update mode).
- Record ID match: if you include a
Record IDcolumn, that takes precedence over Email. - Custom unique property: admins can mark a custom property (e.g., External ID from another CRM) as requiring unique values, and the importer will dedupe on it.
Things to know:
- Email is always required to be unique, even if you’re using another unique identifier.
- HubSpot doesn’t dedupe within your file, if your CSV has the same email twice, both rows process in order, and the later one overwrites the earlier one’s values.
- After import, use the Manage duplicates tool to clean up near-matches that share a name or phone but not an email.
5. Common Import Errors and How to Fix Them
| Error | Cause | Fix |
|---|---|---|
| Missing required property | Email column is missing or unmapped on a contact import. | Add an Email column or map an existing column to Email. |
| Invalid email | Email column contains malformed values. | Validate emails (look for missing @, trailing spaces, broken domains) before import. |
| Invalid property value | Dropdown property got a value that’s not in the list. | Either add the value to the property’s options or change the cell to match an existing option. |
| Date format error | Dates aren’t parseable. | Reformat to YYYY-MM-DD or MM/DD/YYYY. |
| Number too long | Phone or numeric property exceeds the limit. | Trim or move long numbers into a text-type custom property. |
| Duplicate primary key in file | Same email appears twice in the CSV. | Deduplicate the CSV before import. |
After an import, HubSpot shows the error count on the import summary. Click View errors to download a CSV containing only the failed rows plus an error column, fix and re-import that file.
6. Import History and Audit Trail
Every import is logged with the user who ran it, the file name, the row counts, and any errors.
- Go to Settings (gear icon) > Imports & Exports > Imports.
- See the full list with status (In progress, Complete, Failed).
- Click any import to view the property mappings, error file, and the records created or updated.
Imports are retained in this view for 3 years. You can also see this list inline on the contacts index page after a recent import.
Skip the Import Spreadsheets
CSV imports are how you do bulk moves, but day-to-day contact updates pile up faster than you can clean them. Carly is an AI assistant that connects to 200+ apps including HubSpot and handles the repetitive work for you.
More on HubSpot: How to export contacts from HubSpot · How to merge contacts in HubSpot · How to create a workflow in HubSpot · How to connect HubSpot to an AI agent · Best AI CRM tools
Ready to automate your busywork?
Carly schedules, researches, and briefs you—so you can focus on what matters.
Get Carly Today →Or try our Free Group Scheduling Tool or Free Booking Page