PDF Toolkit - Merge, Split & Compress
Merge, split, and compress PDF files in your browser. Reorder pages, extract ranges, and shrink embedded images locally with no upload.
This tool runs entirely in your browser. Your input is never uploaded.
Files are processed locally in your browser and never uploaded.
What does this PDF toolkit do?
This tool handles the three most common PDF chores in one place: joining several documents into one, splitting a document into parts, and reducing file size. Add files to the queue, pick a tab, adjust the options, and download the result. Everything runs inside your browser tab, so your documents never leave your device.
Merging PDFs
Drop two or more files into the queue and reorder them by dragging a row, or use
the Move up and Move down buttons on each row for keyboard and touch
access. The queue order is the exact page order of the merged file. Press
Merge PDFs and a single merged.pdf is produced.
Splitting a PDF
Select the file you want to divide, then choose how:
- One file per page creates a separate PDF for every page.
- Every N pages cuts the document into chunks of a fixed size.
- Custom ranges follows a page expression such as
1-3, 5, 8-. Each comma-separated part becomes its own file.8-means "page 8 to the end" and-3means "page 1 to page 3".
The preview lists the files that will be created before you commit, and a multi-file result is offered as a single ZIP download.
Compressing a PDF
Compression has two independent parts:
- Remove metadata deletes the document information dictionary and any XMP metadata stream.
- Re-encode embedded images finds JPEG images inside the PDF, optionally downscales them to a maximum edge, and re-encodes them at the quality you choose. An image is only replaced when the new version is genuinely smaller, so the output never grows because of re-encoding.
Text, vector graphics, and everything that is not a plain 8-bit RGB or grayscale JPEG image are left untouched. Images that cannot be safely re-encoded — CMYK or indexed color, soft masks, or non-JPEG encodings such as Flate — are skipped and counted in the result, so you always know what happened.
How to use it
- Drop PDF files onto the upload area or click to browse.
- Wait for each row to show its page count.
- Choose Merge, Split, or Compress and configure the options.
- Run the operation and watch the progress bar.
- Download the files individually or grab them all as a ZIP.
Privacy and security
Files are read, parsed, and rewritten entirely in your browser using JavaScript and a Web Worker. Nothing is uploaded to a server, no URL parameters are written, and nothing is retained after you close the page. Encrypted PDFs are detected and refused rather than silently producing an empty document.
FAQ
Why did my PDF barely shrink?
Most of a PDF's size is usually in its images. If a document is mostly text, or its images are already heavily compressed, there is little left to remove and the lossless cleanup only saves a few percent. The result panel shows the exact before and after sizes.
Will compression reduce the quality of my text?
No. Text and vector content are copied byte for byte. Only embedded JPEG images are re-encoded, and only when the result is smaller.
Can I merge password-protected PDFs?
No. Encrypted documents are flagged in the queue and excluded from every operation. Remove the password in a PDF reader first, then try again.
Is there a file size limit?
The practical limit is your device memory, because all processing happens locally. Large documents are handled in a Web Worker so the page stays responsive, and every long operation can be cancelled.
Related tools
Image Compressor
Batch-compress JPEG, PNG, WebP, GIF, and BMP images locally in your browser with quality, resizing, and format conversion controls.
Open ToolImage Slicer
Slice images into a grid of tiles: 2x2, 3x3, 4x4, or custom rows and columns. Sequential naming and ZIP export, all local in your browser.
Open ToolHash Calculator and File Checksum
Compute MD5, SHA-1, SHA-256, SHA-384, and SHA-512 for text and files, and compare checksums.
Open Tool