Spreadsheet & CSV Tools

CSV Splitter

Break a large CSV file into manageable pieces. Split it into files of a fixed number of rows, into a chosen number of equal parts, or into one file per value of a column, with the header row repeated in each.

  • Runs in your browser
  • No sign-up
  • Free to use

How to use CSV Splitter

  1. Drop the CSV or TSV file you want to split.
  2. Choose how to split: rows per file, number of files, or by column value.
  3. Enter the size or pick the column; the line below shows how many files will result.
  4. Select Split file and download the parts individually or as one ZIP.

CSV Splitter features

Three ways to split

A fixed number of rows per file, a fixed number of files, or one file for each distinct value in a column.

Header in every part

Each output file starts with the original header row, so every part can be used by itself.

Rows stay intact

Records are never cut in the middle, including records with line breaks inside quoted fields.

Preview of the result

The number and size of the output files are shown before you start.

Numbered or named files

Parts are numbered in order, or named after the column value they contain.

Local processing

Large files are split in your browser without an upload.

When to use CSV Splitter

  • Meeting the row or size limit of an import tool or an email system.
  • Dividing a data set by country, department or category for different recipients.
  • Opening a file that is too large for a spreadsheet program in several pieces.
  • Creating batches for an API or a bulk-upload process.

CSV Splitter FAQ

How do I split a CSV file too big for Excel?

Excel holds 1,048,576 rows per sheet. Choose rows per file and enter a value below that, for example 1,000,000, and each part will open completely. Smaller parts, such as 100,000 rows, are more pleasant to work with.

What does splitting by column value do?

It groups the rows by the content of one column and writes each group to its own file. Splitting a customer list by the country column, for instance, gives one file per country, named after the country.

Is the header repeated in each file?

Yes, when the option “First row is a header” is ticked. Untick it for files without a header, and all rows are treated as data.

Can a row be split across two files?

No. The file is parsed as a table first, so a record that spans several lines because of a line break inside a quoted field stays in one piece.

Is there a limit on the number of output files?

Up to 500 files per run. If your settings would produce more, increase the rows per file or choose a column with fewer distinct values.

Do the parts keep the original separator and encoding?

The separator of the source file is detected and reused, so a semicolon-separated file yields semicolon-separated parts. Output is UTF-8 with a signature that lets Excel recognise the encoding.

When and how to split a data file

Many systems that accept CSV impose limits. An email marketing platform may import at most ten thousand contacts per file, an online shop a few thousand products, and a spreadsheet just over a million rows. When an export exceeds the limit, the file has to be divided, and dividing it in a text editor is risky. Cutting at an arbitrary line can break a record that contains a line break, and every part after the first lacks the header that the importer needs to recognise the columns.

Splitting by row count is the general-purpose method. You choose a size comfortably below the limit, and the tool produces as many numbered files as required, each with the header on top. Splitting into a set number of files is the same operation seen from the other side: you decide how many pieces you want, and the size follows.

Splitting by column value serves a different purpose. Here the goal is not smaller files but meaningful ones: one per region for the regional managers, one per supplier, one per month. The rows are grouped by the value in the chosen column, in the order in which the values first appear, and each file is named after its value. Rows where the column is empty are collected in a file of their own.

Before you split, it is worth cleaning the column you split on. Values that differ only in spacing or capitalisation, such as “Berlin” and “berlin ”, are treated as different and would end up in separate files. Leading and trailing spaces are ignored by the splitter; differences in case are not.

Other useful tools