The easiest way to split a CSV file

( bytes rows)
Copy header rows into each file.
Skip a number of rows at the beginning of the file.
Number of records per file
Note that a single record may span multiple lines in the file
Number of lines per file
Each line is counted separately, even if it is part of a single record. All lines that are part of a single record will be written to the same file.
Number of bytes per file
Select this if you don't want a split, but are either converting delimiter (for example, going from tab-separated to comma-separated) or if you are only using enrichment (for example, adding a column).
Select this if you don't want a split, but want to receive a SQL database or file for more complex analysis.
Place all lines with a specific column value into a separate file, with one file for all lines where the column value is blank or null
NOTE If your selected header has more than 25000 values, we may not be able to complete the split.
Number of files to split into

Parse Options

Detected Delimiter:

Output Format

Save output as Parquet files (.parquet extension).
Save output as Excel files (.xlsx extension). If this option is selected, the split method MUST be Records (row count), and will be limited to at most 1048576 rows.
Save output as JSON files (.json extension). You can choose if each individual file should be a valid JSON array, or if the file should just be lines of text, where each line is a valid JSON object.
Disable this option to remove quotation marks from the output files.

Duplicate Handling

Detect (and optionally remove) duplicate lines in the input CSV file. A single copy of each duplicate line is saved to a separate duplicates.txt file, along with the record numbers of its first appearance and its first duplicate appearance in the input CSV file.


Instantly upload files of any size.
Multiple choices for how the file is split:
  1. Total number of files
  2. Size of each file
  3. Number of lines per file
Preserve as many header lines as needed in each split file.
Directly download all output files as a single zip file.


We built Split CSV after we realized we kept having to split CSV files and could never remember what we used to do it last time and what the proper settings were. We wanted no install, support for large files, the ability to know how far along we were in the split process, and easy notifications so we could get on with our other work rather than having to keep an eye on the process. We think we got it done!