Guide · 2 min read

Split a large CSV into smaller files.

Upload forms, CRM imports and Excel all have limits. Here is how to cut a file into pieces that each open as a proper table — header included, dialect unchanged.

Why split a file

An import accepts 100,000 rows at a time; an upload form takes 10 MB; Excel stops at 1,048,576 rows; a colleague only needs this month. Splitting cuts the file into pieces that are each a complete table.

Splitting in Intact CSV Editor

  1. Open the file. Filter or sort first if the pieces should follow an order.
  2. Choose File ▸ Split into Several Files and set the number of rows per piece.
  3. Pick a folder. The pieces are written as name-01, name-02 … so they sort in order.

Every piece keeps the column names and is written in the file's own separator, quoting, encoding and line endings, so each opens anywhere as a table in its own right.

Taking out just the rows you need

If you need one part rather than equal pieces, filter the rows — by condition, by a column's values, by a pattern — and extract the rows shown to a new document. Or export the filtered rows directly to any format.

On the command line

split -l 100000 big.csv part- splits by lines, but the pieces after the first have no header row, and a value with a line break inside it is cut in two. Tools such as qsv split handle both; Intact CSV Editor does it with a sheet and a preview.

Try it on your own file

Intact CSV Editor is free for seven days, fourteen with an account — every feature, no card. Download the free trial.

Questions

Common questions

Does every piece get the header row?

Yes. Each file starts with the column names.

Will values with line breaks be cut in half?

No. The file is split between records, not between lines.

Open your most difficult file.

Every feature for seven days, fourteen with a free account. No card, and your files never leave your Mac.

Download free trial

macOS 14 Sonoma or later · See pricing