Split CSV

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

  1. Paste the CSV into the text area. The first line is treated as the header.
  2. Set "Rows per file" (100 by default) and a file name prefix (split_ by default).
  3. Click "Split file". A list of parts appears, numbered from 1.
  4. Click each part to download it as prefix1.csv, prefix2.csv and so on.

Input and output example

Input

id,name
1,Ana
2,Luis
3,Marta
4,Pau
5,Eva
(rows per file: 2, prefix: split_)

Output

split_1.csv:
id,name
1,Ana
2,Luis

split_2.csv:
id,name
3,Marta
4,Pau

split_3.csv:
id,name
5,Eva

Why use our Split CSV?

Common use cases

Limits and tips

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.

Related guides

Related tools

Other free utilities you may find useful

Available languages