FlowToolkit
Data

CSV Splitter

Split large CSV files into chunks by row count or size.

Loading tool…

About this tool

Free, fully in-browser CSV splitter. Drop a CSV, TSV, or TXT file, choose row count or megabytes per chunk, and download a ZIP of split files. Headers are preserved in every chunk. Files never leave your device.

Why split a CSV?

Comma-separated value files are the workhorse of data exchange between spreadsheets, databases, analytics platforms, and machine-learning pipelines. They are simple, portable, and human-readable — until they grow past a few hundred megabytes. At that point Excel refuses to open them, mail servers reject them as attachments, BigQuery and Snowflake imports time out, and even reliable tools like pandas start consuming gigabytes of RAM just to parse a single file.

The most common solution is to split the file into smaller chunks. A 2 GB transaction log becomes twenty 100 MB pieces that load instantly. A 5-million-row marketing export becomes ten 500-thousand-row chunks that fit comfortably into Excel. Splitting also unlocks parallel processing: each chunk can be ingested by a different worker, dramatically reducing total load time.

How the CSV Splitter works

Drop a CSV, TSV, or plain text file onto the dropzone. The tool detects the delimiter automatically and streams the file row-by-row using a Web Worker so the page stays responsive. Choose how to split — by exact row count (for example 100,000 rows per chunk) or by approximate file size in megabytes. The output is a ZIP archive containing each chunk as its own file, named sequentially.

The header row is preserved in every chunk by default so each split file remains a valid, importable CSV. Toggle that behaviour if your downstream importer prefers headerless data. Empty rows, trailing newlines, and stray BOM characters are handled gracefully.

When you would use it

  • Importing a multi-gigabyte log into Excel, Google Sheets, or Numbers.
  • Uploading a large CSV to a service that has an attachment or row-count limit.
  • Parallelising an ETL job across multiple workers or warehouse slots.
  • Sampling a large dataset by keeping only the first chunk for inspection.
  • Sharing a subset of a dataset with a teammate without exposing the entire file.

Privacy and limits

The CSV file never leaves your device. Parsing, splitting, and ZIP compression all happen in the browser using JavaScript Web Workers, so even multi-gigabyte files stay local. There is no upload, no temporary storage on a server, and no logging. The only limit is your device memory — modern laptops with 8 GB of RAM comfortably handle files in the multi-gigabyte range.

Frequently asked questions

Are my files uploaded?

No. All parsing and splitting runs locally in your browser using Web Workers. The file never reaches a FlowToolkit server.

Is there a size limit?

No hard limit. Speed depends on your device memory and CPU. Files in the multi-gigabyte range work comfortably on modern laptops with 8 GB of RAM or more.

Does every chunk keep the header?

Yes by default. Toggle 'Include header in every file' to change. Keeping the header in every chunk means each output file is independently importable.

How do I split a CSV by row count?

Drop the file, choose the row-count mode, enter a number like 100000, and click Split. The tool emits one file per 100,000 rows, plus a final file with the remainder.

How do I split a CSV by file size?

Choose the size-in-megabytes mode and enter a target like 50. The tool produces chunks just under that size while keeping rows intact (it never splits a row across two files).

What delimiters are supported?

Comma (CSV), tab (TSV), semicolon, and pipe. The delimiter is detected automatically from the first few lines.

Can I open the output in Excel?

Yes. Each split file is a standard CSV that opens in Excel, Google Sheets, Numbers, LibreOffice Calc, and any other spreadsheet application.

Does it preserve quoted fields and embedded commas?

Yes. The parser fully respects RFC 4180 quoting rules. Fields with embedded commas, newlines, or quotes are preserved intact.