CSV Splitter
Split a large CSV into smaller files by rows per file, number of files or column value — header kept in every chunk.
Drag & drop a .csv or .tsv file here, or click to browse
No uploads. Your files stay on your device.
How it works
Paste your CSV — or drop a .csv/.tsv file — and it is split the
moment you change a setting. Choose a fixed number of rows per file (handy
for import limits), a fixed number of files (the rows are spread as evenly as
possible), or split by column value so every region, category or customer
lands in its own file. The header row is repeated at the top of each output file, so every
chunk stays a valid CSV you can open in Excel, Google Sheets or a bulk importer.
Parsing follows RFC 4180: quoted fields containing commas, line breaks and escaped
"" quotes are kept intact, and the delimiter (comma, semicolon, tab or pipe) is
auto-detected. Preview any part, copy it, download it on its own, or grab every file at once
as a ZIP that is also built locally. Nothing is uploaded — the whole split runs in your
browser with JavaScript, so it is safe for exports full of customer data.
Frequently asked questions
How do I split a large CSV file into smaller files?
Drop your .csv or .tsv file on the page (or paste the data) and pick a split mode: a fixed number of rows per file, a fixed number of files with the rows spread evenly, or one file per value in a chosen column. The parts are listed instantly with their row counts — preview any of them, download one on its own, or download all of them at once as a ZIP.
Does each split file keep the header row?
Yes. With "First row is a header" ticked, the header is written at the top of every output file, so each chunk stays a valid CSV that Excel, Google Sheets or a bulk importer can open on its own. Untick it if your file has no header and every line should be treated as data. Quoted fields containing commas, semicolons or line breaks are re-quoted correctly on the way out.
Is my CSV uploaded to a server?
No. The file is read and split entirely in your browser with JavaScript, and even the ZIP is built locally — nothing is uploaded, stored or logged, and there is no row limit or signup. That makes it safe for exports containing customer records, payroll data or order histories, and the page keeps working offline once loaded.