Salesforce's Data Import Wizard has a hard 25 MB file size limit. Hit it and the upload fails silently or throws a vague error. Here's the complete process — from splitting the file correctly to uploading without creating duplicate records.
Why the 25 MB limit exists (and why it's not going away)
Salesforce's import tools run server-side validation on every row before committing anything to the database. With a 25 MB ceiling, they're protecting against timeout errors on their infrastructure, not punishing you for having a lot of contacts.
The frustrating part is that 25 MB sounds like a lot until you realize a simple export of 50,000 contacts with 20 custom fields — nothing unusual — can easily hit 40–60 MB. Add any rich text fields and you're looking at 100+ MB files being completely routine.
The good news: splitting the file correctly takes about 60 seconds, and you don't need to install anything.
Before you split: what to check first
A split CSV is only useful if the underlying data is clean. Before you upload anything, run through this quick list:
- Headers on every part — each split file needs the full header row, not just the first one. This is the most common mistake.
- Required fields are present — Salesforce requires certain fields depending on the object. For Contacts,
LastNameis required. For Leads,LastNameandCompany. - No blank rows in the middle — they'll import as empty records.
- Consistent column count — every row should have the same number of commas. A stray comma in an address field (unfenced in quotes) will shift all columns.
- UTF-8 encoding — Salesforce expects UTF-8. Files exported from Windows Excel sometimes come out as Windows-1252 (ANSI). If your contacts have accented characters in their names, this will corrupt them on import.
Step-by-step: splitting a CSV for Salesforce
Open CSV Splitter Online and drop your file
Go to csvsplitteronline.com and drag your CSV file onto the drop zone, or click Browse. The file is processed entirely in your browser — nothing is uploaded to any server. This matters for customer data.
Check the preview and column list
The first 10 rows appear instantly. Scan for obvious issues. If you have columns Salesforce doesn't need — internal notes, legacy fields, export timestamps — uncheck them in the Column Filter. Removing even a few wide columns can cut your file size significantly.
Select "By file size" and use the Salesforce preset
In the Split Mode section, choose "By file size". You'll see a row of CRM presets — click "Salesforce / HubSpot — 25 MB". This sets the limit to 25 MB per output file. Leave the "Include header in each output file" option checked — this is critical.
Click Split and download the ZIP
Hit Split file. CSV Splitter Online will generate the parts in seconds and bundle them into a ZIP. Each file will be named yourfile_part01.csv, yourfile_part02.csv, etc. Download the ZIP and extract it.
Import them one at a time — in order
In Salesforce: Setup → Data → Data Import Wizard. Upload part 1, wait for it to complete and verify the results, then upload part 2. Don't queue them simultaneously — you won't be able to tell which import caused which errors.
Avoiding duplicate records on re-upload
This is where people get into trouble. If an import partially completes — Salesforce processed 4,000 rows and then timed out — you might re-upload the same file and end up with duplicates.
A few rules to follow:
- Always check the Import Status before re-uploading. Setup → Jobs → Bulk Data Load Jobs shows what actually completed.
- Use an external ID field if you have one. Salesforce's Data Import Wizard can match on any unique field (like an email address or a custom
External_ID__cfield). Set the import mode to "Update existing records" rather than "Insert only". - For Leads and Contacts, use email as your duplicate check field. In the field mapping step, assign your email column to
Emailand choose "Update existing records". - If you're doing a fresh import of new records only, use a test batch first — upload 100 rows, verify they look right, then proceed.
Warning: Salesforce's Data Import Wizard and Data Loader behave differently. Data Loader doesn't have the same 25 MB file size limit — but it does have a 5-million-row limit and needs to be installed. For most use cases under 100k rows, the Data Import Wizard is fine.
What about HubSpot and Zoho?
HubSpot shares the same 25 MB limit as Salesforce for contact imports — the Salesforce preset works for both. Zoho CRM has a stricter 10 MB limit; use the Zoho preset in CSV Splitter Online for that. Mailchimp caps at 5 MB, and there's a preset for that too.
The process is identical for all of them: split, verify each part has headers, upload sequentially.
Ready to split your file?
No signup, no download, no data leaving your device. Drop your CSV and get splits in seconds.
Try CSV Splitter Online free →Frequently asked questions
Does each split file need a header row?
Yes, always. Salesforce's Data Import Wizard reads the headers to map fields. If your part 2 starts at row 10,001 without headers, the first data row will be interpreted as field names and your import will fail or map incorrectly.
What if my file is 300 MB — how many splits do I need?
300 MB ÷ 25 MB = 12 files. That's 12 sequential imports. It's tedious but straightforward. If you're doing this regularly, consider whether Salesforce's Data Loader (which handles much larger files) makes more sense for your workflow.
Can I split by row count instead of file size?
Yes — use CSV Splitter Online's "By row count" mode. 10,000 rows per file is a common safe target for Salesforce imports, though you can go higher. The size-based approach is generally safer because a file with many rich text fields will hit the size limit long before hitting a row count ceiling.
My import keeps failing at the same row. What's wrong?
A specific row failing consistently usually means a data quality issue on that row — a required field is blank, a date is in the wrong format, or there's a value that doesn't match a picklist option. Download the error report from the Data Import Wizard (it shows you which rows failed and why), fix those rows in your original file, and re-split.
Ready to try it?
Use our free, browser-based CSV tools to apply what you've just learned — no upload, no signup.
Open Split CSV →