1. Your import CSV
The file from a spreadsheet, a CRM or an old export, saved as CSV, that you plan to upload under Import in HubSpot.
Choose a file or paste the text, then click Check file.
Result
Records
| Line | Name | Phone | Company |
|---|
Safe fixes
The rules, and what is not checked
Stated as read from memory of HubSpot's public import help and property defaults. HubSpot can change them, and your account can differ.
- Matching: contacts are matched on Email (or Record ID), companies on Company Domain Name (or Record ID). The same email twice in one file is one contact.
- Headings: a column maps to a property by its label (First Name) or internal name (firstname). Other spellings are flagged, and a column that matches no default property is a note, since it may be a custom property.
- Emails: one valid address per Email cell; extra addresses belong in Additional email addresses.
- Lifecycle stage: subscriber, lead, marketingqualifiedlead, salesqualifiedlead, opportunity, customer, evangelist, other.
- Lead status: NEW, OPEN, IN_PROGRESS, OPEN_DEAL, UNQUALIFIED, ATTEMPTED_TO_CONTACT, CONNECTED, BAD_TIMING.
- Dates: one of MM/DD/YYYY, DD/MM/YYYY or YYYY/MM/DD per file, with an optional time; month names, two-digit years, dots and Excel serial numbers are flagged, and a column that mixes day-first and month-first is an error.
- Limits: 1,048,576 rows, 1,000 columns and 512 MB per file.
- Excel damage: scientific notation is unrecoverable and flagged; a ZIP or phone number that lost its leading zero is flagged but never rewritten, because the tool cannot know the original.
- Safe fixes change formatting only: the separator, heading spelling to the property label, stray spaces, a mailto: prefix, email case, a trailing .0 or apostrophe on phone and ZIP cells, default lifecycle stage and lead status written as internal values, and blank rows. Every change is listed with its line. Names, addresses, the digits of phones and ZIP codes, and dates are never edited, and duplicates are reported, not deleted.
Not checked
- Whether an owner email or name matches a user in your HubSpot account
- Custom properties and custom dropdown options you created in your account
- Whether a contact or company already exists in your account, and what it would be merged with
- Whether a lifecycle stage would move backwards for a record already in HubSpot
- The date format you pick in the import step matching the dates in the file
- Whether an email address can actually receive mail, or has bounced or unsubscribed before
- Required properties, validation rules and field limits set in your account
- Anything HubSpot has changed in its importer since these rules were read
Common questions
Why did my HubSpot contacts import fail or create duplicates?
The usual causes are an email column with invalid addresses or two addresses in one cell, the same email on more than one row, headings HubSpot cannot match to a property, a lifecycle stage or lead status that is not one of its internal values, dates in a layout the import does not offer, and an Excel save that damaged phone numbers and ZIP codes. This tool tests each of them and names the line.
How do I check a HubSpot import CSV before uploading it?
Paste the file or drop it onto this page. It reads the headings against HubSpot contact or company property labels and internal names, then lists every problem with its line number as errors, warnings and notes. Nothing is uploaded.
What are the internal values for HubSpot lifecycle stage and lead status?
From memory of HubSpot's defaults, lifecycle stage is subscriber, lead, marketingqualifiedlead, salesqualifiedlead, opportunity, customer, evangelist or other. Lead status is NEW, OPEN, IN_PROGRESS, OPEN_DEAL, UNQUALIFIED, ATTEMPTED_TO_CONTACT, CONNECTED or BAD_TIMING. An account can add custom options, which this tool cannot see, so check against your own settings.
What date format does a HubSpot import want?
From memory, the import lets you pick one of MM/DD/YYYY, DD/MM/YYYY or YYYY/MM/DD for the whole file, with an optional time. Month names, two-digit years, dots and Excel serial numbers are flagged. A file that mixes day-first and month-first dates cannot be read correctly under either choice.
Why did my phone numbers turn into 4.41175E+11 and my ZIP codes lose their zero?
Excel stored a long number or a code like 02108 in a cell formatted as General or Number and shortened it. Scientific notation loses digits for good, so the tool flags it as an error and leaves the cell alone. It also flags four-digit US ZIP codes, but never rewrites a postal code, because it cannot know the original.
What does Apply safe fixes change?
Only formatting with one reasonable reading: the separator, heading spelling to the property label, stray spaces, a mailto: prefix, upper or lower case in an email, a trailing .0 or apostrophe on a phone or ZIP code, default lifecycle stage and lead status written as their internal values, and blank rows. Every change is listed with its line. It never changes names, addresses, the digits of a phone or ZIP code, or dates.
Is it safe to put my contact list into a web page?
The page runs in your browser, the file is read locally and nothing is uploaded; a test in the code asserts there are no network calls. Your own policies still decide what you may open in a browser.
What does this not check?
Whether an owner matches a user in your account, your custom properties and options, whether a record already exists, whether a lifecycle stage would move backwards, which date format you choose at import, whether an email can receive mail, and anything HubSpot changed after these rules were read. A clean result is not a promise of success: import a handful of rows first.