Loading...
Loading...
Split a CSV with millions of rows into smaller files — by row count, file size, or column value. Every file keeps the header. The file never leaves your computer.
Drop your file here, or browse
.csv, .tsv, .txt — processed entirely in your browser
| Scenario | Use this mode |
|---|---|
| You need to email or upload each piece under a size limit (5 MB, 10 MB, 25 MB) | By file size |
| You want roughly equal chunks to hand to teammates or run through a script in parallel | By row count |
| You need one file per region, status, customer, or category for separate handling | By column value |
| You just want the file small enough for Excel or Google Sheets to open without lagging | By row count |
A CSV's first row is a header, not data — it names the columns so the row values line up correctly. Split naively and only the first file keeps that header; every other file starts with real data in place of column names, and whatever tool opens it next either misreads the first data row as a header or fails to match columns at all.
That's why this tool repeats the header row in every split file by default. It also means the header row itself doesn't count toward your row-count or size target — a 50,000-row split gives you 50,000 rows of data plus one header line, not 49,999.
If you plan to concatenate the files back together yourself, turn the "repeat header" option off — only the first file will have a header, so a simple concatenation won't duplicate it in the middle of the merged file.
Splitting a file doesn't destroy anything — every row from the original ends up in exactly one output file, in order. If you split by row count or file size and later need the original back, stack the files in order and drop the repeated header rows from all but the first. See our guide to merging CSV files back together for the exact steps, including a free tool for it.
Excel caps every worksheet at 1,048,576 rows — a CSV can hold far more than that, but Excel will silently stop loading at the limit rather than warn you the rest is missing. See our breakdown of Excel's row limit for what actually happens when you hit it.
Beyond the row cap, a multi-gigabyte CSV is simply slow to open, email, or process in memory-limited tools. Splitting it into pieces sized for the tool at the other end is usually less work than fighting the file's size directly — see our full guide to splitting large CSV files online for more approaches, including command-line options for files too large to load in a browser at all.
Files big enough to need splitting are usually exports of everything — full customer lists, transaction logs, entire databases dumped to CSV. Those are exactly the files that shouldn't leave your machine. This tool reads the file with the browser's FileReader API, splits it in memory, and hands each piece back as a direct download. Nothing is sent to a server, so there's nothing to log, cache, or leak.
| This tool | Typical online splitter | |
|---|---|---|
| File leaves your device? | No | Yes — uploaded to their server |
| Works offline once loaded? | Yes | No |
| Signup required? | No | Sometimes, for larger files |
Open the file in a splitter, choose "by row count," and set the number to roughly half the total rows — the tool creates two files, each with the header row included. With this tool, upload the file above, pick By row count, enter half of the total row count shown at the top, and click Split & Download.
Use a browser-based splitter so the file never has to be uploaded to a server — this tool reads the file with the FileReader API, splits it in memory by row count, size, or a column's values, and gives you one download link per resulting file, plus a "download all" button.
Excel has no built-in split command. The common workaround is to open the file, select the extra rows, cut them, and paste them into a new workbook — repeated manually for every chunk, and risky for files near Excel's 1,048,576-row limit since Excel may already be truncating what it loaded. A dedicated splitter like this one handles the row math and keeps the header automatically.
Comma is the standard (RFC 4180) and what most tools expect by default. This tool detects whatever separator your file already uses and keeps it unchanged in every split file — it splits rows, it doesn't convert delimiters. To change the delimiter itself, use our CSV delimiter converter.