Check & prepare data · Experimental helper

Split CSV Files by Row Count

Split a CSV into smaller files by row count and download them together in a ZIP.

Work stays in your browserLocal tool processing

Choose a CSV and rows per part. Each output keeps its header.

Private by designYour input stays on your device. Processing happens in this browser.
Your workspace

Start with a file

CSV, TSV, or TXT · UTF-8 only · up to 10 MB. Original text and identifiers are retained; parsing happens when you run. Drop here, or use the file picker.

Paste CSV instead (optional)

Optional alternative to a file. Editing this text removes its selected file; source text is never reformatted during loading.

Split settings

Leave blank to detect comma, semicolon, tab, or pipe. Otherwise enter one character.
Whole numbers. Minimum 1. Maximum 100000.
Ctrl / ⌘ + Enter to run
Result

A clear result starts here

Run the tool to see your output here.

Try the example to explore how it works.
What to know about this tool

10 MB, 50,000 rows, 200 columns; rectangular CSV with unique nonblank headers. At most 100 parts and 20 MB combined CSV output per ZIP. Headers repeat in each part; potentially executable spreadsheet cells get an apostrophe.

Clear this workspace?

Your inputs, selected files, and current result will be cleared.

Get a result you can use

Instructions and examples

From input to output

  1. Choose or paste a CSV.
  2. Enter Rows per part and select Split CSV.
  3. Read the part counts, download the ZIP and inspect the extracted CSV files.

Settings and result behavior

  • The row count excludes the header. Record order is retained and quoted multiline cells stay within their record.
  • At most 100 parts are created; combined CSV bytes inside the ZIP are capped at 20 MB.

A worked example

Input
A CSV with one header and five data rows.
Settings
Rows per part: 2.
Expected result
Three files: part-001.csv with 2 rows, part-002.csv with 2 and part-003.csv with 1. Each repeats the header.

Supported input and limits

Choose a UTF-8 CSV, TSV or TXT file, or open “Paste CSV instead”. Use comma, semicolon, tab or pipe separators. A header row with unique nonblank names and the same field count on every row is required. Output is a ZIP of CSV files with the source delimiter and formula protection.

10 MB, 50,000 rows, 200 columns; rectangular CSV with unique nonblank headers. At most 100 parts and 20 MB combined CSV output per ZIP. Headers repeat in each part; potentially executable spreadsheet cells get an apostrophe.

If the result is unexpected

  • For too many parts, increase Rows per part.
  • If an import service has a byte limit, check each extracted file’s actual size; a fixed row count cannot guarantee bytes.

Check before using the result

Confirm all expected rows across the parts and one header per file. Keep parts together if later processing must preserve the complete dataset.

Report a problem with this tool. Include a nonsensitive example and your browser details.