What is File Splitter?

A file splitter divides any large file into smaller, equally-sized parts. Useful when email attachments have size limits, when uploading to services with file caps, or when splitting archives for portable storage. Parts can be rejoined later.

Upload a file and choose how to split it: a target number of parts, a maximum size per part in KB, MB, or GB, or — for text files like .txt, .csv, .log, and .jsonl — a fixed number of lines per part or a cut at any delimiter (a blank line, a "---" rule, or a keyword). Byte modes produce numbered chunks like document.part001.pdf, document.part002.pdf, which you can reassemble with the matching file joiner without any quality loss. Line and delimiter modes produce openable text parts, and for CSV or TSV you can repeat the header row in every chunk so each piece imports on its own. You can also download a sha256sum-compatible CHECKSUMS.txt to verify every part after a transfer, and set a custom output name prefix to organize the files.

How to use

  1. Upload the file you want to split.
  2. Choose how to split: by number of parts, by maximum part size in KB, MB, or GB, or — for text files — by lines per part or at a delimiter such as a blank line.
  3. Click split and download all parts as individual files or a single ZIP.

When to use

  • Sending a 1.2 GB project file through a webmail account that caps attachments at 25 MB.
  • Copying a large archive to a FAT32 USB stick that refuses single files over 4 GB.
  • Splitting a database export into ten chunks so a slow upload can resume from the last successful part.

Result

Split a 150MB presentation into three 50MB parts for sending via email with a 50MB attachment limit.

FAQ

Will the split parts still play, open, or run on their own?
It depends on the mode. Byte-based parts of a video, archive, or PDF are raw slices with no format header, so a single chunk won't open on its own — you need all parts joined back. Line and delimiter parts of a text file (.txt, .csv, .log, .json) are themselves valid text, so each output file opens and reads cleanly without rejoining. For CSV and TSV files you can also tick "repeat the header row" so every part keeps its column names.
Should I split by number of parts, max part size, lines, or a delimiter?
Pick max size when the destination has a hard limit (email attachment cap, FAT32, free upload tier). Pick number of parts for a clean 3- or 5-way split when exact bytes don't matter. Pick lines per part for text files (.csv, .log, .jsonl) when each chunk should stay a valid, openable file — for example 100,000 rows per CSV piece. Pick the delimiter mode to cut a log or markdown file at every blank line, every "---" rule, or any keyword you choose.
What naming convention do the parts use?
Pattern is {stem}.part001{ext}, {stem}.part002{ext}, etc. The 3-digit padding keeps alphabetical sort in the right order even past 100 parts, and the file joiner expects exactly this layout.
Is there an upper limit on the file size I can split?
Practically, what the browser tab can handle in memory — usually multi-GB on desktop. The slicing uses the Blob.slice API, which is lightweight, so the bottleneck is when each chunk is held in RAM right before download.
How do I rebuild the original file later?
Drop all the .partNNN files into the dedicated file joiner tool, confirm the order matches the numeric suffix, and download. The byte stream is identical to the original — same size, same hash.

Related Tools