✂️

Split PDF

Split a PDF into individual pages or page ranges.

🔐 Files are processed on the server and deleted immediately after - nothing is stored.

Drag & drop a PDF here, or click to browse

    How Split PDF works

    How does splitting a PDF into pieces work under the hood?

    The tool first opens the upload with FPDI just to read the page count via setSourceFile(), then for each requested output - either every single page or the custom page ranges you type in - it builds a brand-new TCPDF/FPDI document, imports just those pages with importPage()/useTemplate(), and saves it as its own PDF file. All of the resulting PDFs are then added to a ZipArchive for one download.

    When is this useful?

    Useful when you have received one large scanned PDF - say a signed contract bundle - and need to hand out just a few pages to someone, or when you want to break a multi-chapter document into one file per chapter using ranges like "1-3,4,5-8".

    What happens to all the intermediate files it creates?

    Every per-range PDF is written to the temp folder so it can be added to the zip, and right after the archive is closed the code calls cleanup_temp_files() to delete each of those part files - only the final zip is kept, and that gets deleted right after it streams to your browser. The source upload is capped at 20MB by validate_uploaded_pdf().