How to use Split CSV
- 1Drop a CSV, TSV or TXT file (up to 2 GB) into the box. The tool detects the encoding and delimiter, shows the first rows and starts counting the records.
- 2Choose how to split: a fixed number of data rows per file, a number of equal files, or a maximum file size in MB.
- 3Leave First row is the header on if the file has column names, so they are copied to the top of every part.
- 4For UTF-8 files, keep Add UTF-8 BOM switched on if the parts will be opened in Excel.
- 5Click Split and download ZIP. The parts are named after your file (orders-001.csv, orders-002.csv and so on) and listed with their row counts.
Three ways to split, and when to use each
| Mode | What you set | Good for |
|---|---|---|
| Rows per file | e.g. 10,000 data rows | Import screens that accept a fixed number of rows, batch jobs, mail-merge lists |
| Number of files | e.g. 4 files | Sharing a list out among colleagues, running work in parallel |
| Max file size | e.g. 10 MB | Upload forms and email attachments with a size limit |
In rows per file the header is not counted, so 10,000 means 10,000 records plus the header line. The 1,000,000 button exists because an Excel sheet holds 1,048,576 rows; parts of a million rows always open completely in Excel.
Number of files waits for the row count to finish, then shares the rows out evenly. 1,941,631 rows into 7 files gives six files of 277,376 rows and one of 277,375.
Max file size counts real bytes, including the header and the BOM, and starts a new file before a record would push it over the limit. In a test with a 100 MB file and a 9.5 MB limit, the largest part came out at 9,961,470 bytes against a limit of 9,961,472. The only case where a part can be larger is a single record that is bigger than the limit on its own.
Quoted fields, line breaks and other things that break simple splitters
Splitting a CSV by counting lines in a text editor goes wrong as soon as a field contains a line break, which is common in address and comment columns. This tool follows the CSV rules instead:
- A line break inside double quotes, such as "Flat 2
12 High Street", belongs to the field, so that record stays in one piece in one file. - Commas inside quotes and doubled quotes (""like this"") are left exactly as they are.
- Windows (CRLF), Unix (LF) and old Mac (CR) line endings are all recognised, and the bytes are copied unchanged, so each part keeps the line endings of the original.
- Empty lines are left out and counted in the result, so you know if any were there.
- A UTF-8 BOM at the start of the input is removed from the data and, if you keep the BOM option on, written once at the start of every part.
Because the tool only looks for quotes and line breaks, it works with any delimiter (comma, semicolon, tab, pipe) and does not need to decode the text. Files saved in Korean CP949/EUC-KR or Japanese Shift_JIS are split byte for byte and stay in their original encoding.
How large a file it can handle
The file is never loaded into memory in one go. It is read in 8 MB slices, each slice is scanned for record boundaries and written straight into the ZIP using the browser's built-in compression. Memory use is roughly the size of the compressed ZIP plus one slice.
In our test, a 100 MB UTF-8 CSV with 1,941,631 records, quoted commas, doubled quotes and multi-line fields was counted in about 2 seconds and split into four files in about 9 seconds in Chromium on a desktop computer. Every part was then read back with a standard CSV parser and compared record by record with the original: same header, same records, same order, nothing lost.
The upload box accepts files up to 2 GB, and the ZIP itself must stay under 4 GB. Phones and tablets have far less memory; files of a few hundred MB may fail there, so use a computer for very large files.
Opening the parts in Excel
Excel guesses the encoding of a CSV when you double-click it, and for UTF-8 files without a byte order mark it usually guesses wrong, which turns é into é and Korean into unreadable symbols. Keeping Add UTF-8 BOM on prevents that. Leave it off only if the parts are going to a program that rejects a BOM, such as some database import scripts.
Excel also changes values as it opens a CSV: leading zeros disappear from postcodes and phone numbers, and long IDs turn into 1.23E+15. Splitting does not change any values, but if a part needs to go into Excel cleanly, run it through CSV to Excel, which keeps those values as text.
Troubleshooting
A warning says a double quote is never closed. Somewhere in the data there is a stray quote, typically a measurement such as 27" monitor in an unquoted field. Everything after it is treated as one field, so the row count will look far too low. Fix the source file, or export it again with all fields quoted.
The preview shows everything in one column. The delimiter could not be recognised from the first lines. This only affects the preview: splitting works on records, not columns, so the parts are still correct.
The tool says the file is UTF-16. Excel's Unicode Text format saves two bytes per character. Open the file in Excel or a text editor and save it as CSV UTF-8 first.
There is one part fewer than expected. The header row is not counted as data, and empty lines are skipped. A file with 1,001 lines including the header has 1,000 records, which fit in one file of 1,000 rows.
Related tools
To split a spreadsheet rather than a CSV, use Split Excel, which also splits by sheet. To turn a part into a proper workbook, use CSV to Excel; to go the other way, Excel to CSV. If you only need to look inside the ZIP or pull out one part, Unzip opens it in the browser.
Frequently asked questions
Does every split file get the header row?
Yes, as long as First row is the header is switched on. The original first line, including its line ending, is copied to the top of every part. Switch it off for files without column names.
Will a record with a line break inside it be cut in two?
No. Line breaks inside double quotes are part of the field, so the whole record always goes into the same file.
Is my CSV uploaded anywhere?
No. The file is read and split inside your browser and the ZIP is created on your device. That makes the tool usable for customer lists, payroll exports and other private data.
How do I split a CSV into files Excel can open?
Choose Rows per file and click 1,000,000. An Excel sheet holds 1,048,576 rows, so every part, header included, fits. Keep the BOM option on so accents and non-English text display correctly.
Can I split a CSV to stay under an upload limit?
Yes. Choose Max file size and enter the limit in MB. Each part, header included, stays at or under that size, and no record is cut in the middle.
Why is the download a ZIP and not separate files?
Browsers ask for permission or block downloads when a page saves dozens of files at once. One ZIP avoids that and is much smaller, because CSV text compresses well.