CSV File Splitter
Split a large CSV file into smaller files by row count, file size (MB), column value (group-by), or a fixed number of output files. Header preservation, custom filename templates, dedup, column selection, ZIP export. 100% client-side.
About CSV File Splitter
Split a large CSV file into smaller files by row count, file size (MB), column value (group-by), or a fixed number of output files. Header preservation, custom filename templates, dedup, column selection, ZIP export. 100% client-side. Everything runs locally in your browser — your data never leaves your device.
How to use
- Enter your input in the tool above.
- Adjust any options to your preference.
- Use the Copy or Download buttons to save the result.
- Everything happens locally — your data never leaves your browser.
FAQ
What does the CSV File Splitter do?
It splits one large CSV into many smaller CSVs. You can split by row count (e.g. 1000 rows per file), by target file size (e.g. 1MB per file), by column value (each unique value becomes its own file), or by number of output files (split into N roughly equal parts).
How is the header handled?
By default, the first row (header) is preserved at the top of every split file. You can turn this off if your CSV has no header row.
How do I name the output files?
Use the filename template with placeholders: {base} (original filename without extension), {index} (zero-padded split number), {total} (total split count), {group} (column value when grouping), and {date} (current date). Example: '{base}_part{index}_of_{total}.csv' → 'sales_part01_of_05.csv'.
Can I download all splits as one ZIP?
Yes. Click 'Download as ZIP' to get a single .zip containing every split. Or download individual files one at a time.
What extra features does this tool have?
10 extras: (1) Drag-drop input. (2) Preview first N rows of each split. (3) Live stats (total rows, estimated split count, per-split row counts). (4) Custom delimiter (comma, tab, semicolon, pipe, or custom char). (5) Encoding detection (BOM sniffing). (6) Progress bar during split. (7) Split by number of output files (divide into N equal parts). (8) Column selection (keep or drop columns before splitting). (9) Dedup rows inside each split. (10) History (localStorage — last 10 split configs).
Is my CSV uploaded anywhere?
No. All parsing, splitting, and ZIP packaging happen in your browser using pure JavaScript. Your data never leaves your device.
What's the maximum CSV size?
There's no hard limit, but very large files (> 100MB) may slow the browser. We use efficient array operations and show a progress bar.
Related tools
7Z Extractor
Inspect and extract files from 7z archives. Detects the 7z signature (0x37 0x7A 0xBC 0xAF 0x27 0x1C), parses the SignatureHeader and StartHeader, lists files from the archive metadata, and extracts STORE-method files when possible. Honest about LZMA compression limitations. 100% client-side.
APK Extractor
Extract and inspect Android APK files in the browser — pure JavaScript APK (ZIP) parser. View AndroidManifest.xml (binary XML detection), list DEX files, resources, and assets, extract individual files, detect app info (package name, version) from manifest. 100% client-side.
ARJ Extractor
Inspect ARJ archives. Detects the ARJ magic (0x60 0xEA), parses header structures, lists file entries with sizes and CRCs, and extracts STORE-method files when possible. Honest about ARJ compression limitations. 100% client-side.