TFT

CSV Splitter

A 500,000-row CSV doesn't fit in most tools. Split it into equally sized chunks, or divide it by the values in a key column — each output file gets its own header and can be downloaded as a ZIP.

CSV Splitter

Split large CSV into multiple smaller files by row count, file size, or column value groups

Drag and drop a CSV file here, or click to browse

or paste CSV data below

How CSV Splitter Works:

  • By Row Count: Split into files with N rows each
  • By File Size: Split into files of maximum size
  • By Column Value: Group rows by unique column values
  • Headers can be included in each split file
  • Download individual files or all at once

What This Tool Does

This tool splits a large CSV file into multiple smaller CSV files. Choose to split by row count (e.g., 1000 rows per file), by file size (e.g., 5MB per file), or by unique column values (e.g., one file per country). Each output file includes headers.

Split Modes

By row count: Specify how many rows per file. A 10,000 row file split into 1,000 rows creates 10 output files.

By file size: Specify maximum file size in KB or MB. The tool calculates how many rows fit within the limit.

By column value groups: Each unique value in a column gets its own file. Useful for splitting by category, region, or date.

Headers in each file: All output files include the header row for standalone usability.

Example: Split by Row Count

Input: 5,000 rows

Split by: 1,000 rows per file

Output files:

output_part_1.csv - 1,000 rows
output_part_2.csv - 1,000 rows
output_part_3.csv - 1,000 rows
output_part_4.csv - 1,000 rows
output_part_5.csv - 1,000 rows

Example: Split by Column Value

Input CSV:

id,name,country
1,Alice,USA
2,Bob,UK
3,Charlie,USA
4,Diana,Canada
5,Eve,UK

Split by: country column

Output files:

country_USA.csv:
id,name,country
1,Alice,USA
3,Charlie,USA

country_UK.csv:
id,name,country
2,Bob,UK
5,Eve,UK

country_Canada.csv:
id,name,country
4,Diana,Canada

When to Use This

Email campaign batches: Split large contact lists into smaller files for email service providers with batch limits.

API upload limits: Many APIs have file size or row count limits. Split data to fit within constraints.

Parallel processing: Split data for parallel processing across multiple workers or machines.

Regional distribution: Split customer data by country or region for local teams.

Manageable chunks: Break large files into smaller pieces that Excel or other tools can handle.

File Naming

Output files are named automatically:

Row count mode: filename_part_1.csv, filename_part_2.csv, etc.

Size mode: filename_part_1.csv, filename_part_2.csv, etc.

Column value mode: filename_value1.csv, filename_value2.csv, etc. (e.g., country_USA.csv)

Download Options

Individual download: Download each split file separately.

Batch download: Download all files as a ZIP archive (if supported by your browser).

Limitations

Large files: While splitting helps manage large files, the input file still loads into browser memory. Files over 200MB may cause issues.

Many output files: Splitting by column value with many unique values creates many files. 1,000 unique values = 1,000 output files.

File size estimation: Size-based splitting is approximate. Actual file sizes may vary slightly.

Frequently Asked Questions

Do output files include headers?

Yes. Every output file includes the header row, making each file independently usable.

Can I customize the output file names?

This tool uses automatic naming. For custom names, rename files after download or use a script.

What happens if the last chunk is smaller?

The last file contains remaining rows. If splitting 5,500 rows into 1,000-row chunks, the last file has 500 rows.