Split CSV
Divide a large CSV into smaller files of a chosen row count, repeating the header in each.
Processed on your device — no upload
Paste a CSV or choose a file. The row count and the pieces it will be cut into appear here.
How to split CSV
- Paste the CSV, or choose a file.
- Set how many rows each part should hold.
- Download all the parts, or pick them individually.
How it works
The file is parsed once, then the data rows are sliced into chunks of the size you set. Each chunk is written as a complete CSV, with the header row repeated by default.
Repeating the header is almost always what you want. Import tools read the first line as column names, so a part without one either fails or, worse, imports the first data row as headings and silently loses it.
Parsing before splitting is what makes this safe. Cutting a large file every thousand lines with a text tool breaks any record containing a newline inside a quoted field — multi-line addresses and notes end up split across two files, both of them malformed. Splitting by parsed rows cannot do that.
Parts are numbered with a leading zero so they sort correctly: part01 through part12 stay in order where part1 to part12 would put 10, 11 and 12 immediately after 1.
A worked example
You have 8,400 contacts and the platform you are importing into refuses files over 1,000 rows.
Paste the file, set 1,000 rows per part, and the note confirms: nine files, each with the header repeated. Press Download all and they arrive as contacts-part01.csv through contacts-part09.csv, the last holding the remaining 400.
The quoted-newline case is the one worth understanding. If a contact record has a two-line postal address stored in one field, that record occupies two lines in the file but is one row. Cutting the file at line 1,000 with a text editor could land in the middle of it. Splitting by parsed rows counts records, not lines, so it cannot.
Expect a browser prompt when downloading many parts at once — browsers throttle long bursts of automatic downloads. With more than a dozen parts it is often quicker to take them one at a time from the list.
To go the other way, merging combines files back into one and can add a column recording which part each row came from.
Questions
Can I split a file for batch uploading?
Yes. Set the rows per piece and each part keeps the header, which is what an importer with a row limit needs.
Is my data uploaded?
No. The file is parsed and split in your browser, so contact and customer lists stay on your device.
Does each part get the header row?
Yes by default, and you almost always want it. Import tools read the first line as column names, so a part without one fails or misreads the first record.
Why not just cut the file every N lines?
Because a record containing a newline inside a quoted field spans several lines. Cutting by line can split a record in half and produce two malformed files.
Why did only some parts download?
Browsers throttle long bursts of automatic downloads. Look for a permission prompt in the address bar, or download the parts individually from the list.
Why are the parts numbered 01 rather than 1?
So they sort correctly. Without the leading zero, part10 sorts immediately after part1 in most file listings.
How many rows per file should I use?
Whatever your import limit is, minus a small margin. 1,000 and 5,000 are the common ceilings.
Can I split by column instead?
No, this splits by rows only. Splitting by column is a different operation and rarely what an import limit requires.
Is there a file size limit?
No fixed limit. The whole file is parsed into memory, so a very large export may struggle on a phone.
Is this the same as separating or cutting a CSV?
Yes. Separate CSV, cut CSV and split CSV file all describe the same job: one sheet in, several out, with the header row repeated on each so every piece opens correctly on its own.