File Splitter & Joiner
Split any file into fixed-size or a set number of chunks, then rejoin the numbered parts back into a byte-exact copy of the original.
🔒 Splitting and joining happen entirely in your browser — your file is never uploaded. Parts are byte-exact, so joining them back gives you the original file bit-for-bit.
Drop any file here, or click to choose
Split any file into parts, then join them back
Drop a file and split it into fixed-size chunks (say 10 MB each) or into a set number of equal parts. Each chunk downloads as a numbered .partNN file. There is no cap on the file’s size: each part is a slice of the file you dropped, read only when you download it, so a file of several gigabytes splits as readily as a small one, and the part size can be set in bytes, KB, MB or GB. Only Download all parts as one ZIP has a limit, because that ZIP is built in the tab’s memory; past it each part keeps its own button. SHA-256 checksums hashes the original and every part and writes a SHA256SUMS.txt that sha256sum -c checks, before and after joining. Before the split runs, a line under the controls says how many parts it will make and how big. To reassemble, switch to Join mode, drop all the parts, and download the original file — the pieces are byte-exact, so the rejoined file is identical to the original bit-for-bit. Join also takes a set another splitter numbered .001, .002 (or .1, .2): the parts go in number order, so .10 comes after .9, and the joined file drops the number, so archive.zip.001 comes back as archive.zip. In Join mode a second drop zone adds more parts to the list rather than starting over, and "Clear the list" empties it. Once a file is split, "Rejoin without this page" gives the command that joins the parts on Windows and the one for macOS and Linux, each with its own Copy button.
Why split a file?
Stay under email or upload size limits, fit a large file across several USB sticks or cloud slots, or move data in smaller, resumable pieces. Unlike a PDF page splitter, this works on any file type — video, archives, disk images, anything — in the style of 7-Zip volumes.
Frequently asked questions
How do I join the parts back together?
Switch to Join mode and drop all the .partNN files at once. They are automatically sorted by part number and merged into the original file, which downloads under its original name.
Is my file uploaded to a server?
No. Splitting and joining run entirely in your browser using the File API, so your file never leaves your device.
Will the rejoined file be identical to the original?
Yes. The split is a plain byte copy with no compression or re-encoding, so joining the parts back produces a file that is bit-for-bit identical to the original.
Is there a size limit, and can I check the parts after moving them?
There is no limit on the file: each part is a slice of the file you dropped, read only when it is downloaded or hashed, so a file of several gigabytes splits without filling the tab’s memory, and the part size can be given in bytes, KB, MB or GB. Only “Download all parts” as one ZIP has a limit, because that ZIP is built in memory; past it, each part keeps its own button. “SHA-256 checksums” hashes the original and every part and writes SHA256SUMS.txt — run sha256sum -c --ignore-missing SHA256SUMS.txt beside the parts to check them, and again after joining to check the original.
Can the parts be joined without this page?
Yes. Once a file is split, "Rejoin without this page" gives the command for Windows (copy /b) and the one for macOS and Linux (cat) with your parts’ names in them, each with its own Copy button.
Can it join parts another splitter made, like archive.zip.001?
Yes. Join reads a number on the end of the name as the part number, whether it is this tool’s .partNN or the bare .001 or .1 that 7-Zip, HJSplit and other splitters write. The parts are put in number order rather than alphabetical order, so an unpadded .10 still comes after .9, and the joined file is named without the number — archive.zip.001 comes back as archive.zip. Splitting here still names the parts .partNN.