Skip to content

CSV Splitter

Splits a table by row count or by the distinct values of a column, into separate files with the header repeated in each.

One file into many: equal-sized parts, or one file per distinct value of a column. The header is repeated in every part, so each piece opens as a table rather than as a headless block of rows.

🔒 Runs entirely in your browsercsvsplitbatch

Drop a CSV or TSV

Read in this tab. Nothing is uploaded. Files from Korean, Japanese, Chinese and Western Excel (CP949, Shift_JIS, GBK, Windows-1252) are recognised.

How to use it

  1. Choose how to cut

    By row count for an upload limit, or by the values of a column for a file per region, per month, per owner.

  2. Preview a part

    The picker names each part and its row count. Checking one before downloading forty is cheaper than checking forty afterwards.

  3. Download one or all

    Download all fires one save per file, spaced out. Browsers throttle bursts of programmatic downloads, and the ones they drop go silently.

Common questions

It says the column has 4,000 distinct values

Then this would be 4,000 files, and no browser will save that many in one go. That count usually means the column is an id rather than a category — filter instead, or split on something coarser.

What happens to a value with a slash in it?

Filenames come from cell values, and values routinely contain characters a filesystem will not take. Those are replaced with a hyphen and the name is capped in length, so a part is never lost to an unsaveable name.

Can I split by file size instead?

Not directly, but rows are a good proxy: divide your size limit by the average row length in bytes. A size-exact split would have to cut mid-row or leave parts unevenly full, and neither is more useful than choosing a row count.

Feed it from

Next

These accept what this tool produces, so the result can go straight in.