Split a CSV File Online

Split a CSV into smaller files, either every N rows or one file per distinct value in a column. Each part gets its own copy of the header row, so every file is a valid CSV on its own.

Input

Read on this page. Nothing is uploaded.

The parts will be listed here once there is a CSV to split.

Two ways to split

By row count, when something downstream has a limit: an import that caps at 10,000 rows, an API that takes 500 records a call, a spreadsheet that will not open past a million lines.

By column value, when the file is really several files stacked together. One CSV per region, per month or per customer is usually more useful than one CSV with a region column.

Why the header is repeated

A split file without a header is not a CSV any more, it is a fragment that only makes sense next to the original. Repeating the header costs one line per file and means every part opens correctly on its own.

Questions

How large a file can I split?

The split happens in your browser, so the limit is memory rather than an upload cap. Files of a few hundred megabytes are realistic on a normal machine.

Can I download all the parts at once?

Each part downloads separately. Browsers treat a page that starts several downloads at once as suspicious, and a zip would mean pulling in a compression library for the one case that needs it.

Other tools