How do I move customer data from a spreadsheet or an old CRM into a new CRM?
Summary
You export your records to a CSV or Excel file and load it through the new CRM's import tool. The tools have hard ceilings: 50,000 records per run in Salesforce's Data Import Wizard, 50,000 rows and 50 MB per file in Pipedrive, and 8 MB (32 MB zipped) in Dynamics 365. Size is rarely what trips people up. The trouble usually starts when companies and contacts go in together, because HubSpot creates duplicate records whenever the file lacks a unique identifier such as an email address or company domain.
How much each CRM takes in one import
- Salesforce Data Import Wizard. Runs in the browser, accepts CSV only, and handles up to 50,000 records at a time across accounts, contacts, leads, campaign members, and custom objects. Salesforce says not to run more than one import job at once.
- Salesforce Data Loader. A desktop client for Enterprise, Performance, Unlimited, and Developer editions. It covers every object and is the tool Salesforce points to for more than 50,000 records or for scheduled nightly loads.
- Pipedrive. XLS, XLSX, or CSV, one tab per import, no more than 50,000 rows, and under 50 MB. Only users with the import permission can run it.
- Dynamics 365 Sales. The Import Data Wizard takes CSV, XML Spreadsheet 2003, and zip files, capped at 8 MB (32 MB for zip). Microsoft recommends keeping each import to 20,000 rows or fewer.
The HubSpot limits on file size and daily rows are listed in the CRM database guide.
Companies and contacts in the same file
A spreadsheet keeps the company and the person on one row. A CRM stores them as separate records joined by an association. HubSpot can import both objects from a single file and link them as it goes, but only if each row carries an identifier such as Email, Company domain name, or Record ID. Leave those out and you get a new company for every row that mentions it. To tie one contact to two companies, you give that contact two rows.
Two more HubSpot limits catch migrations. Importing association labels, like "decision maker" or "billing contact," needs a Professional or Enterprise subscription, and existing emails, meetings, notes, and tasks can't be updated by import at all.
Salesforce, Dynamics 365, and HubSpot all drop columns you don't map to a field. In Salesforce, data that fits no standard field needs a custom field created by an admin before the import.
A test batch you can take back
Salesforce recommends loading a small CSV first to confirm the source data is prepared correctly. Pipedrive goes a step further: a global admin can revert an import from the import history tab within 48 hours. In practice that means you can load ten rows, look at the dates, the characters, and the company links on screen, and undo the whole batch if something is off.
Sources
- https://help.salesforce.com/s/articleView?id=sf.import_which_data_import_tool.htm&type=5
- https://help.salesforce.com/s/articleView?id=sf.data_import_wizard.htm&type=5
- https://developer.salesforce.com/docs/platform/data-loader-impl/guide/when-to-use-the-data-loader.html
- https://help.salesforce.com/s/articleView?id=sf.import_prepare.htm&type=5
- https://support.pipedrive.com/en/article/importing-data-into-pipedrive-with-spreadsheets
- https://learn.microsoft.com/en-us/power-platform/admin/import-data-all-record-types
- https://knowledge.hubspot.com/import-and-export/import-objects
- https://knowledge.hubspot.com/import-and-export/set-up-your-import-file
Related on this site
- What's inside a CRM database, and which limits will you hit when you move your data in?
- Why does a CRM fill up with duplicate records and unused seats, and how do you clean that up?
- If my CRM runs in the cloud, does the vendor take care of login security and keeping a copy of my data?
- Annual billing, minimum seats and onboarding
Written by Kaz (pen name). Published September 27, 2026. The figures above come from the vendor and review-site pages listed under Sources. We have not used these products. Corrections: contact form.