CRM Import Limits Compared: Rows, File Size and Errors in 8 CRMs
CRM import limits from each vendor's own help documentation, checked October 6, 2026: the maximum rows and file size per import in Salesforce, HubSpot, Dynamics 365, Zoho CRM, Pipedrive, monday CRM, Airtable and GoHighLevel, what the common import errors mean, and how to fix them.
Key takeaways
- The same 40,000-contact file imports in one go into HubSpot or Pipedrive, needs two batches in Zoho CRM Enterprise, and needs six files for monday CRM. Limits checked in each vendor's help docs on October 6, 2026.
- Salesforce's Data Import Wizard takes up to 50,000 records at a time. Above that, Salesforce points you to Data Loader, which handles up to 150 million.
- HubSpot paid accounts allow 512 MB and 1,048,576 rows per file and 10 million rows a day. Its free tools allow 20 MB per file and 500,000 rows a day.
- Microsoft recommends keeping a Dynamics 365 import to 20,000 rows or fewer, with an 8 MB file limit (32 MB zipped) for the Import Data Wizard.
- Most failed imports come from four causes: a second sheet in the file, badly formatted phone numbers or dates, owner names that match no user, and dropdown values that don't exist yet.
You exported 40,000 contacts from your old CRM, opened the new one, clicked Import, and got an error. Nothing in the migration plan said the importer had a ceiling. Every CRM has one, and the numbers differ by a factor of more than 100. This page lists them in one place, taken from each vendor’s own help documentation, plus what the common import errors mean and how to fix them.
Method. We read the import documentation for the eight CRMs aibrevo implements on October 6, 2026, and recorded only limits the vendor states. Where two vendor articles disagree, both are shown with their dates. Links are in the sources.
What are the import limits in each CRM?
| CRM | Tool | Max rows per import | Max file size | File types | Other limits |
|---|---|---|---|---|---|
| Salesforce | Data Import Wizard | 50,000 records | Not stated in the source we read | CSV | Data Loader for 50,000 to 150 million records |
| HubSpot (paid) | Import tool | 1,048,576 rows per file | 512 MB | CSV, XLSX, XLS | 10M rows and 500 imports per rolling 24 hours; under 1,000 columns |
| HubSpot (free tools) | Import tool | 500,000 rows per day | 20 MB | CSV, XLSX, XLS | 50 imports per day |
| Dynamics 365 Sales | Import Data Wizard | 20,000 rows recommended | 8 MB, or 32 MB as .zip | CSV, XML Spreadsheet 2003, ZIP, text | Programmatic import recommended for large volumes |
| Zoho CRM | Import | 1,000 (Free) to 30,000 (Enterprise) per batch | 25 MB per file for the Bulk Write API | CSV; XLS, XLSX, VCF up to 5,000 | Bulk API: 25,000 records and 200 columns per file |
| Pipedrive | Spreadsheet import | 50,000 rows | Under 50 MB | XLS, XLSX, CSV | One tab per import, header row required |
| monday CRM | Import from Excel | Under 8,000 rows (10,000 into an existing board) | 10 MB | XLSX, XLS, CSV | Under 50 columns; 100 files per account per hour |
| Airtable | Import | Bounded by the base’s record cap | Not stated in the source we read | Not stated in the source we read | 1,000 (Free), 50,000 (Team), 125,000 (Business) records per base |
| GoHighLevel | CSV import | 10,000 rows (April 2025 article) | Under 30 MB (September 2026 article) | CSV only | One sheet; one note per contact, 5,000 characters |
Source: each vendor’s help documentation, checked October 6, 2026. See the sources section for links and article dates.
How many files will my import need?
The practical question is not the limit itself but how many times you have to split your export. Here is the arithmetic for three common migration sizes, using each CRM’s per-import row limit.
| CRM (limit used) | 5,000 records | 40,000 records | 150,000 records |
|---|---|---|---|
| HubSpot paid (1,048,576) | 1 file | 1 file | 1 file |
| Salesforce wizard (50,000) | 1 | 1 | 3, or one Data Loader job |
| Pipedrive (50,000) | 1 | 1 | 3 |
| Zoho CRM Enterprise (30,000) | 1 | 2 | 5 |
| Zoho CRM Standard (10,000) | 1 | 4 | 15 |
| Dynamics 365 (20,000 recommended) | 1 | 2 | 8 |
| GoHighLevel (10,000) | 1 | 4 | 15 |
| monday CRM (under 8,000) | 1 | 6 | 19 |
Files needed = records / row limit, rounded up. For monday CRM we used 7,999 rows per file because the limit is “fewer than” 8,000. Each split file needs the same header row.
Record count is only half of it. Monday’s 10,000-item board limit on most plans and Airtable’s 50,000-record cap on the Team plan mean a 150,000-contact database may not fit at all without a plan change or a different data design. Check the destination’s storage cap before you check the import cap.
Why do CRM imports fail, and how do you fix them?
Almost every failed import we see traces back to a handful of causes. This table maps the symptom to the cause and the fix, with the vendor’s own error code where it publishes one.
| What you see | Likely cause | Fix |
|---|---|---|
| “The import file contains more than one sheet” (HighLevel error 1003) | Your file has extra tabs | Delete every tab except the data, or save as CSV |
| Phone numbers rejected or mangled (HighLevel error 1013) | Brackets, dashes or no country code | Strip “(”, “)” and “-”, and use the international format with a country code |
| Dates rejected (HighLevel error 1014, Zoho date mismatch) | File uses a different date format than the one chosen at import | Pick the matching format in the import settings, or reformat the column to one format |
| Owner not found, or “matches more than one user” (HighLevel error 1002) | Owner column uses names, and two users share one, or the user doesn’t exist yet | Use the owner’s email address instead of their name; add users before importing |
| Invalid email (HighLevel error 1008) | Typos, spaces, two addresses in one cell | Clean the column; keep one address per cell |
| Dropdown or picklist values not imported | Values don’t exist in the CRM field yet (Zoho notes this) | Create the dropdown options first, then import |
| Import stops partway, rows missing at the end | A blank row the importer reads as the end of the file (Zoho notes this) | Remove empty rows before import |
| Strange characters in names | File not saved as UTF-8 | Re-save as CSV UTF-8 (HubSpot and Zoho both call this out) |
| Duplicates created | No unique identifier mapped | Map email or record ID as the identifier; deduplicate the file first |
| “File too large” or nothing happens on upload | File over the size or row limit | Split the file using the table above |
How should you split a large CRM import?
- Clean first. Deduplicate, fix phones and dates, and remove blank rows in the full file. Fixing one file is easier than fixing 15. Our data cleaning guide walks through it.
- Import parents before children. Companies or accounts first, then contacts linked to them, then deals, then notes and activities. Otherwise the importer has nothing to link to.
- Split by a stable rule. By created date or ID range, not at random, so you can tell which batch a bad row came from.
- Copy the header row into every file. The column names must match exactly.
- Run a 50-row test file first. Check field mapping, owners and dates in the CRM before running the full set.
- Log each batch. File name, row count, rows imported, rows failed. Download each error file the CRM offers.
- Switch to the bulk tool when the file count gets silly. Salesforce Data Loader, HubSpot’s imports API (up to 80 million rows a day, per HubSpot) or Zoho’s Bulk Write API are built for this.
Which import route fits your migration?
- Under the CRM’s row limit, one object: the in-app importer is fine.
- Over the limit, under about 10 files: split the file and import in batches.
- Many objects with relationships, or over about 10 files: use the vendor’s bulk tool or API, or a migration tool, and map record IDs between systems.
- History you can’t lose (activities, emails, attachments): plan this separately; most in-app importers handle them poorly or not at all.
Which CRM migrations hit the limits most often?
The tight limits are at the destination end. Moving into monday CRM or GoHighLevel from a larger system usually means many split files, because their per-import limits are 8,000 to 10,000 rows. Moving into HubSpot rarely needs a split at all. Moving into Salesforce is easy up to 50,000 records per object and then needs Data Loader.
If you are planning one of these moves, our step-by-step guides cover the specific pairs: Salesforce migration, HubSpot migration, Pipedrive to HubSpot, Pipedrive to Zoho and Airtable to monday.com. The general CRM migration guide covers planning and cutover. When you are comparing destinations, the CRM pricing comparison shows what each costs for your team size.
aibrevo’s engineers run these migrations as part of an implementation, including the split, the ID mapping and the test imports. If your export is stuck on an error you can’t place, book a short call and bring the error file.
Sources
All checked October 6, 2026.
- Salesforce Trailhead, Import data into Salesforce: Data Import Wizard up to 50,000 records at a time; Data Loader up to 150 million; supported objects.
- HubSpot Knowledge Base, Format import files: file size, rows per file, rows and imports per rolling 24 hours, columns, encoding.
- Microsoft Learn, Import data (all record types), updated August 14, 2026: 20,000-row recommendation, 8 MB and 32 MB zip limits, formats.
- Zoho CRM Help, FAQs: Import: records per batch by edition, XLS 5,000 limit, common errors. Zoho developer docs, Bulk Write API limitations: 25 MB, 25,000 records, 200 columns.
- Pipedrive Knowledge Base, Importing data with spreadsheets: 50,000 rows, under 50 MB, file types.
- monday.com Support, Import from Excel to monday CRM (updated September 9, 2026), Import files from Excel (updated September 15, 2026) and Item and subitem limits per board (updated September 20, 2026).
- Airtable Support, Airtable plans: records per base by plan.
- HighLevel Support, Importing contacts and opportunities via CSV (updated September 16, 2026) and Troubleshooting bulk imports via CSV (updated April 24, 2025): file size, row limit, error codes 1002, 1003, 1008, 1013, 1014.