CRM imports & cleanup·12 min read

Why your HubSpot import is failing

What each import error actually means and how to fix it, plus the imports that do not fail at all and quietly overwrite what you already had.

By Operelio team · Updated July 2026

On this page11
  1. 1.First, get the real error
  2. 2.The file itself was rejected
  3. 3.Your columns did not match HubSpot
  4. 4.Individual values were rejected
  5. 5.Duplicates and identifiers
  6. 6.It said it worked, but nothing changed
  7. 7.The ones you cannot fix in the file
  8. 8.The imports that do not fail
  9. 9.A checklist that prevents most of it
  10. 10.Fixing it once instead of per error
  11. 11.Frequently asked questions

First, get the real error

HubSpot does not fail an import as one lump. It imports the rows it can and lists the rows it could not, with a reason against each. That list is the useful part, and it is easy to miss.

Open the import from the imports list and download the error file. It gives you the failing rows with the error name attached, which turns a vague failure into a specific fix. Everything below is keyed to those error names.

Worth knowing before you go back to the spreadsheet: some of it can be fixed inside the import tool. At the mapping stage you can replace a value and HubSpot applies the change to every row in that column where it appears, which handles a misspelling repeated across hundreds of rows. That works well for one or two bad values. It stops being the quicker route when several columns need work, or when the same file arrives every month.

If the whole import was rejected before it got to the rows, it is almost always one of the file-level problems in the next section. HubSpot checks the shape of the file before it looks at the contents.

The file itself was rejected

These stop the import before a single row is read. They are the quickest to fix and the most common cause of a file that will simply not upload.

ErrorWhat it meansThe fix
Incorrect number of columnsAt least one column has data in it but no headerGive every column a header, or delete the stray column. A single value pasted into an unlabeled column does this.
Invalid file typeThe file is not a .csv, .xls, or .xlsxSave or convert it. A .numbers, .tsv, or Google Sheets link will be refused.
Invalid sheet countThe workbook has more than one sheetSend one sheet. Export the sheet you want on its own.
Invalid spreadsheetThe file is corrupt or not really a spreadsheetOpen it, save it again as .csv or .xlsx, and retry.
Row data too largeA single cell or row holds more than 1 MBFind the offending cell. It is usually a note or description field with something pasted into it.

Your columns did not match HubSpot

These are about the header row and the properties behind it. HubSpot has to turn each of your column names into one of its own properties, and it will tell you when it cannot.

ErrorWhat it meansThe fix
Property definition not foundA column header does not match any HubSpot propertyMap it to an existing property during the import, or create the property first. Renaming the column to the exact property name avoids the question.
Missing required propertyA property HubSpot requires has no value in some rowsFill the gaps, or filter those rows out and handle them separately.
Invalid required propertyA required property has a value HubSpot will not acceptCheck the format that property expects. This is usually email, a date, or a number.
Property validation rule errorA value breaks a validation rule set on the propertyLook at the rule on the property in HubSpot. Someone on your team set it, and the file has to satisfy it.

Individual values were rejected

These are the ones that let most of the import through and quietly drop the rest, which is why an import can look successful and still leave you short.

ErrorWhat it meansThe fix
Invalid enumeration optionA dropdown value does not match any existing optionEither correct the values in the file or add the option in HubSpot. This is the classic one behind a country column with fourteen spellings.
Ambiguous enumeration optionThe value matches more than one option, or uses the label where HubSpot wants the internal valueUse the internal value, not the display label.
Could not parse dateThe date does not match the format you picked during the importHubSpot asks you to choose a date format when you import. Pick the one your file actually uses, or convert the column to match.
Could not parse numberA number property contains something that is not a numberStrip the currency symbols, commas, and any text such as n/a.
Could not parse rowThe row cannot be processed at allUsually a stray delimiter or line break inside a cell. Re-save the file as CSV and check that row.
Failed validation of EmailThe address is not shaped like an emailFix or remove it. Dead addresses import fine, so this is about format, not deliverability.
Could not find ownerThe owner value does not match an active HubSpot userUse the owner's email address rather than their name.
Multiple owners foundThe owner name matches more than one userUse the email address instead.

Duplicates and identifiers

HubSpot matches on a unique identifier, usually email for contacts and domain for companies. Most of these errors mean your file disagrees with itself about which record is which.

ErrorWhat it meansThe fix
Duplicate unique property valueTwo rows carry the same unique identifierDeduplicate the file before importing. HubSpot will not choose between them for you.
Duplicate record IDThe same record ID appears more than onceKeep one row per record, the most recent one.
Invalid record IDA record ID does not exist in HubSpotExport the current records to get real IDs, or match on email instead.
Multiple companies with this domainThe domain matches several company recordsMerge the duplicates in HubSpot first, then re-import.

Email matching is case-insensitive in HubSpot, but a leading or trailing space is not the same address. If updates are landing as new contacts, check for whitespace before you check anything else.

It said it worked, but nothing changed

This is not really an error, and it catches people out more than the errors do. HubSpot asks whether the import should create records, update them, or both, and it does exactly what you chose.

Create only import means your file matched existing records and HubSpot left them alone, as instructed. Update only import means the opposite: rows that matched nothing were skipped rather than created. If you meant to do both, choose create and update, and run it again.

The ones you cannot fix in the file

Some errors are about your HubSpot account rather than your spreadsheet, and no amount of cleaning will move them.

Association errors mean the identifiers linking records to each other are missing, repeated, or too long, and association labels have to exist in HubSpot before an import can use them. Limit exceeded means you have hit your record allowance. GDPR blocklisted email means those contacts cannot be added by import at all, whatever the file says. Those four are HubSpot-side decisions, and the file is not the lever.

The imports that do not fail

Every error above announces itself. The imports that cause real trouble are the ones that succeed. Nothing is rejected, the summary looks healthy, and the damage only surfaces days later when a report is wrong or a rep asks why a contact went cold.

Experienced HubSpot admins consistently name the same handful. An import can overwrite Original Source, which is the field your attribution reporting rests on. It can move Lifecycle Stage, sometimes backwards. It can replace tidy dropdown values with free text typed by whoever built the file. It can break company associations, change record owners and the routing that depends on them, and land values in the wrong property entirely because two columns had similar names.

The one that surprises people most: an import can trigger workflows. If enrollment criteria match the records you just touched, automation fires on all of them at once, and that can mean live emails going out to a few thousand people who were not expecting them.

The question worth asking before any import is not whether the file is clean. It is: what is this file allowed to change? Everything else follows from the answer.

A checklist that prevents most of it

None of this is difficult. It is the difference between an import you can undo and one you cannot.

1

Export a backup of the records you are about to touch

Before anything else. HubSpot has no undo for an import, and property history only tells you what changed one record at a time. An export you already have is worth more than any amount of care afterwards.

2

Run a sample first

Twenty or thirty rows. Import them, then open two or three of those records and read the property history to see exactly which fields the import wrote. This is the step people skip and then wish they had not.

3

Decide what the file is allowed to change

Map only the columns you intend to update. A column that is in the file but should not overwrite anything is safer left unmapped than mapped and hoped about. Treat Original Source, Lifecycle Stage, and owner fields as protected unless changing them is the actual goal.

4

Check what automation will fire

Look at which workflows enroll on the properties you are about to write. If the import should not set anything off, turn those workflows off for the duration, or import into a staging property instead.

5

Put untrusted data in its own field

When a list comes from a conference badge scanner or a bought file, the job title in it is a claim, not a fact. Writing it into a separate imported or submitted field keeps your clean data clean and still gets the new information in.

Fixing it once instead of per error

Most of the list above comes from three things: a header row that does not match, values that do not match a dropdown, and duplicates. HubSpot lets you patch some of these in the import tool one value at a time, which is fine once. It is the wrong shape when the same export arrives every month, because you are redoing the same corrections by hand each time.

Clean Headers standardizes the header row and removes the blank and duplicate names behind Incorrect number of columns and Property definition not found. Find and Replace collapses the spelling variants behind Invalid enumeration option. Deduplicate removes the repeated identifiers behind Duplicate unique property value. Excel to CSV takes one sheet out of a multi-sheet workbook, which is Invalid sheet count. The CRM Formatter maps your columns onto HubSpot's real property names and shows a preview of what will be created and updated before anything is written.

Dates have two fixes and it is worth knowing both. HubSpot asks you to pick a date format during the import, so choosing the one your file already uses often solves it without touching a cell. When the column itself is inconsistent, which is the harder case, Health Check flags the mixed formats and its Standardize dates fix converts the whole column to YYYY-MM-DD.

Map your columns onto HubSpot's real property names and see what will be created and updated before it writes.

Open CRM Formatter

Frequently asked questions

Why does my import say Incorrect number of columns when the columns look fine?

There is data in a column with no header. It is often a single stray value pasted to the right of your real data, or a formatting mark Excel kept. Delete the empty column entirely rather than clearing the cell, then save again.

Why did HubSpot import the contacts but leave some fields empty?

Those values were rejected individually while the row itself succeeded. It is almost always Invalid enumeration option on a dropdown property, or Could not parse number or date. The error file lists them.

Why is my update creating new contacts instead of updating existing ones?

The unique identifier is not matching. Check that the email column is mapped as the identifier, and check for leading or trailing spaces, which make an otherwise identical address a different one.

Can I import into HubSpot from Excel, or does it have to be CSV?

Both work. HubSpot accepts .csv, .xls, and .xlsx, but the workbook must contain only one sheet. Multi-sheet workbooks are rejected with Invalid sheet count.

What date format does HubSpot want?

There is no single one. You choose the format during the import, and the error appears when the file does not match your choice. If the column is consistent, pick the matching format. If the column has mixed formats, which is the usual cause, Health Check flags it and converts the column to YYYY-MM-DD.

Can an import trigger my workflows?

Yes, and this catches people out badly. If a workflow enrolls on a property your import writes, it fires for every record you touched, which can mean live emails to thousands of contacts at once. Check which workflows enroll on the properties you are mapping before you import, and turn them off for the run if they should not fire.

How do I check what an import actually changed?

Open a few of the affected records and read the property history, which shows the previous value and what the import wrote over it. Do this on a small sample import before running the full file. HubSpot has no undo, so the only real safety net is the export you took beforehand.

Why did my import create new contacts when the emails already existed?

Usually the unique identifier was not set to email, or the import mode was create-only. Differences in capitalization are also reported as a cause. Lowercasing the column and trimming stray spaces costs nothing and removes the question entirely.

Will importing overwrite data already in HubSpot?

It can, depending on the mode you pick and whether the column has a value. If you are pushing from Operelio, the preview shows how many records will be created, updated, and skipped, and you can choose to fill only fields that are currently empty.

Ready to get started?

Upload a file and run your first transformation. Free, no credit card required.