Skip to main content
4 min read
By Chieyine NelsonPublished December 5, 2025Reviewed August 15, 2026

Import CSV to HubSpot (Contacts & Companies)

A complete guide to importing contacts, companies, and deals into HubSpot from CSV. Learn how to map properties, handle associations, and fix errors.

HubSpot is powerful, but it's only as good as the data you put in it. Importing CSVs is the primary way to bulk-add contacts, companies, deals, and tickets.

HubSpot's import tool is user-friendly, but it has specific requirements for associations (linking a Contact to a Company) that trip people up.

Preparing Your CSV

1. Separate or Combined Files?

You can import:

  • One file: Contains both Contact info (Name, Email) and Company info (Company Name, Domain). HubSpot will create/update both and link them.
  • Multiple files: One CSV for Contacts, one for Companies. You link them during the import process.

Recommendation: For simple lists, use One File. It's easier.

2. Essential Columns

For Contacts:

  • Email (Required for deduplication)
  • First Name
  • Last Name

For Companies:

  • Company Domain Name (e.g., happycsv.com) - Crucial for deduplication!
  • Name

For Deals:

  • Deal Name
  • Pipeline
  • Deal Stage
  • Amount

Step-by-Step Import Guide

  1. Go to Contacts:

    • Navigate to CRM > Contacts.
    • Click Import (top right).
  2. Start an Import:

    • Click Start an Import.
    • Select File from computer.
    • Select One file (if your CSV has mixed data) or Multiple files.
    • Select One object (just Contacts) or Multiple objects (Contacts + Companies).
  3. Upload File:

    • Drag and drop your CSV.
  4. Map Columns:

    • HubSpot tries to match CSV headers to Properties.
    • Green Check: Mapped successfully.
    • Exclamation Mark: Not mapped. Select the correct HubSpot property from the dropdown.
    • Tip: If a property doesn't exist (e.g., "Favorite Color"), you can create a new custom property right there.
  5. Run Import:

    • Name your import (e.g., "Trade Show Nov 2024").
    • Click Finish import.

Handling Associations

If you are importing Contacts and Companies in one file:

  • Ensure every row has Email (for the contact) and Company Domain Name (for the company).
  • HubSpot will:
    1. Find/Create the Company based on Domain.
    2. Find/Create the Contact based on Email.
    3. Automatically associate them.

If you don't have Company Domain Name, HubSpot might create duplicate companies (e.g., "Acme" and "Acme Inc").

Common Errors

1. "Invalid Email Address"

HubSpot validates emails strictly. john@gmail (missing .com) or jane@ domain.com (space) will fail. Fix: Use an email cleaning tool before import.

2. "Enumeration Option Not Found"

You tried to import "Lead" into a Dropdown property that only has options "Subscriber", "Customer". Fix: Ensure CSV values match the internal values of the HubSpot property exactly (case-sensitive often).

3. Date Format Issues

HubSpot accepts several documented date formats, but every value must be valid for the destination property type and any property validation rules. Use one unambiguous format throughout the file and confirm it during field mapping.

Best Practices

  • Unique identifiers: Include Email, Company domain name, Record ID, or a custom unique-value property as appropriate for the object and import mode. Confirm whether the import should create, update, or do both.
  • Lists: You can choose to add all imported contacts to a static list during the import. Do this! It makes it easy to find them later ("Import Date = Today").
  • Consent and lawful use: Import only records your organization is permitted to store and contact. CRM property configuration does not replace a privacy or consent review.

Test the import before committing the full file

HubSpot supports CSV, XLSX and XLS files with one sheet and a header row. File and daily limits depend on the subscription. Do not design a workflow around a remembered limit; check the current account allowance on HubSpot's import file requirements.

Download HubSpot's example file for the object you are importing. It reveals the required properties and mapping labels for the current interface. Remove instructional rows from the example before upload.

Run a small import containing new records, existing records and intentionally blank optional fields. Review the mapping screen carefully, especially fields HubSpot did not match automatically. After completion, open the import record, compare created and updated counts, and download the error file. HubSpot's import history can also be used to locate or remove records created by a specific import.

Associations require stable identifiers on both objects. A contact-to-company import, for example, needs enough information to identify each record and establish the intended relationship. Do not rely on names alone when names can repeat.


Clean your list first: Use HappyCSV to trim whitespace, normalize case, remove exact duplicate rows, and inspect the result before uploading to HubSpot.

Use the Fix CSV Headers

Trim, normalize, and safely deduplicate CSV headers before importing data into another system. Your file is processed locally in the browser.