Split a large text file into multiple smaller files — by lines, by size, by parts, by character count, by delimiter, or by regex. Browser-only, no upload. Works for CSV files too.
You have a log file too big to email, a CSV export that won't fit through your upload limit, a database dump that needs to be chunked for a slow import. This tool slices the input into multiple smaller .txt files and bundles them into a single ZIP — no upload, no install, no command line.
Six split rules cover most cases: cut into N equal parts, by byte size (KB / MB), by lines, by characters, by a literal delimiter, or by regex. CSV files work the same way — use LINES mode to split a CSV into multiple files by row count, or BYTES mode to split by file size. The whole thing runs in your browser using a few String.slice() calls and JSZip.
Drop a .txt, .csv, or .log file into the input box — or paste the text directly. Everything is processed in your browser, nothing uploaded.
Choose PARTS for N equal pieces, BYTES for size limits (KB / MB), LINES for a row count per file (most common for CSV), CHARS for codepoints per file, DELIM for token-based splits, or REGEX for pattern-based.
Each output file shows as a preview panel. Hit Download ZIP to grab the full bundle — file panels are previews only, the actual ZIP contains the complete content of every chunk.
PARTS slices the input into N equal-sized chunks (you pick N). BYTES splits by file size — useful for "split into 10 MB files" workflows. LINES splits by row count — the most common mode for CSV files. CHARS splits by codepoint count, where one English letter, one Chinese character, or one emoji each count as 1.
Yes. A CSV is just a text file with a delimiter, so any mode works on it. The most common pattern is LINES mode to split a CSV into multiple files by row count (e.g. 10,000 rows per file). For size-based splits like "split a 1 GB CSV into 50 MB pieces," use BYTES mode. Note: the tool does not detect or copy the header row — if you need the header in each output file, prepend it manually after download.
Nothing to install. The tool runs in any modern browser on Mac, Windows, or Linux — no command line, no csplit, no split utility, no Python script. Open the page, drop in your file, click Download ZIP.
For DELIM and REGEX modes the delimiter is consumed during the split — only the parts between delimiters appear in each output file. For PARTS, BYTES, LINES, and CHARS modes there is no delimiter involved, so the text is sliced as-is.
Around 50 MB of plain text splits reliably in Chrome / Firefox on a modern laptop. Above ~200 MB the ZIP-packaging step (JSZip, runs in your tab — not on a server) gets slow and can freeze the page. If that happens, refresh and split into fewer or smaller chunks per pass. The output preview is intentionally capped at 20 file panels × 5 lines each so the DOM stays light no matter how many output files you generate.
Splitting itself is fast — the slow step is ZIP packing. Comfortable up to ~10 MB / 50k lines; a 100 MB input pauses the tab for 5–10 seconds during JSZip compression. Beyond ~500k lines the ZIP step may hang. Each output file panel previews up to 5 lines (with a "+N more" note); the actual file contents in the ZIP are always complete.