Split a large CSV file into several smaller files.
About Split CSV
Many import screens cap the number of rows per file: Mailchimp, HubSpot, WooCommerce and Google Ads all reject a CSV that is too large, and email attachments have size limits. This tool splits a CSV into several smaller files with a chosen number of rows each, repeating the header line in every part so each file can be imported on its own.
Paste the CSV, set the rows per file and a name prefix, click Split and download each part. The split runs in your browser, so a customer list with thousands of rows never leaves your machine.
How to use Split CSV step by step
Paste the CSV into the text area. The first line is treated as the header.
Set "Rows per file" (100 by default) and a file name prefix (split_ by default).
Click "Split file". A list of parts appears, numbered from 1.
Click each part to download it as prefix1.csv, prefix2.csv and so on.
100% free and online: no payments, no software or extensions to install.
Privacy-first: processing happens in your browser, your data never leaves your device.
No sign-up: paste your data and get the result in one click.
Fast and reliable: handle small or large files in seconds, ready for Excel and other tools.
Common use cases
Break a 20,000-contact list into batches under the import limit of Mailchimp, Brevo or Sendinblue.
Send a large export by email in parts that fit the attachment size limit.
Divide a product catalogue between several people who will review or translate it.
Create chunks for a script that processes a CSV in batches or for parallel uploads to an API.
Limits and tips
Rows are counted as lines: a quoted value that spans several lines is counted as several rows and may be cut between two files.
Each part includes the header as its first line, so the total number of lines is slightly higher than the original.
Parts are downloaded one at a time with separate clicks; there is no ZIP. Browsers may ask permission to download multiple files.
Blank lines at the end of the input are ignored, but blank lines in the middle count as rows.
Frequently asked questions
Does every part keep the column headers?
Yes. The first line of the original CSV is copied at the top of every generated file, so each part is a valid standalone CSV that can be opened in Excel or imported into any system without manual editing.
How many rows should I put in each file?
Use the limit of the destination system: for example 10,000 rows for many CRM imports, or a number that keeps each file under the size limit of your email provider. If the limit is by file size rather than rows, estimate the average bytes per row and divide.
Can I split by file size instead of rows?
Not directly. Divide the target size by the approximate size of one row (total file size divided by the number of rows) to get the rows per file, then use that number.
Can I merge the files back later?
Yes. Concatenate the files and delete the repeated header lines; in a spreadsheet, paste the parts one after another. Command-line users can run tail -n +2 on each part after the first and append the results.
Is the CSV uploaded?
No. Splitting is done with JavaScript in your browser and each part is generated locally when you click it.