Merge PDF
Combine several PDFs into one file in the order you choose, without leaving your browser.
Re-save a PDF with object-stream compression. Text-heavy files get smaller and nothing on the page changes.
Updated
Your browser is preparing the tool. It runs 100% locally.
This tool shrinks a PDF by re-saving it with object streams, a PDF 1.5 feature that packs the document's many small objects into compressed blocks. It is lossless, so the file looks exactly the same, and it runs in your browser with pdf-lib. Expect roughly 10-25% off a text- or vector-heavy file. It does not downsample images, so scans and photo-heavy PDFs may barely shrink, and the tool tells you when that happens.
A PDF is made of thousands of small objects: text runs, font data, page descriptions and metadata. In an inefficiently saved file each object carries its own overhead. This tool rebuilds the file with object streams, which gather many objects into compressed blocks, so the same document takes fewer bytes.
The compression is lossless. No pixels are thrown away and no images are scaled down, so every glyph, line and image in the new file is the same as before. The savings are modest, though, and depend a lot on what the file contains.
pdf-lib loads your PDF and saves it again with the object-streams option on. Object streams were introduced in PDF 1.5 and are defined in ISO 32000. They store a group of indirect objects inside one stream, which is then Flate-compressed with the same deflate method ZIP and PNG use.
Only the document's structure is reorganized and compressed, so text and vector content can shrink noticeably while images that are already compressed stay as they are. The tool compares the new size with the original and reports the saving, or tells you the file was already optimized.
The PDF is compressed on your device. It is read from disk, re-packed in the page's memory and offered back as a download. No copy goes to NineClip or anyone else.
There is no account and nothing is kept. Close the tab and both files are cleared from memory, so you can use it on confidential documents you would not hand to an online compression service.
| Engine | pdf-lib (open-source, JavaScript) |
|---|---|
| Method | Object streams (PDF 1.5), Flate-compressed |
| Type | Lossless, no image downsampling |
| Typical saving | ~10-25% on text/vector-heavy PDFs |
| Image-heavy PDFs | Little to no reduction |
| Output | compressed.pdf |
| Upload | None; the PDF stays in your browser |
Lossless compression has a limit. The file describes the same content more efficiently, but image resolution and quality are never lowered. The result looks exactly like the original, and only structural overhead can be removed, not picture data.
PDFs made mostly of text and vector graphics, such as reports, contracts and generated documents, usually lose 10-25%. In PDFs that are mostly images, especially scans and photo pages, the images make up most of the size and are left alone, so the file may shrink slightly or not at all. The tool says so when that happens.
The most effective way to shrink an image-heavy PDF is to downsample its images to a lower DPI. That is lossy: it cuts the size but changes the pixels, and this tool does not do it. If a scan has to get much smaller, lower the image resolution before converting to PDF, or compress the images separately first.
Many modern PDFs are already saved with object streams. They have little overhead left, so compressing them again saves almost nothing. That is expected, not a failure.
Where this kind of compression helps
Cut the structural overhead from a PDF of text and charts exported by a word processor or reporting tool.
Some apps write PDFs inefficiently. Saving with object streams recovers that space without loss.
Get a document-heavy file under an attachment limit without changing how it looks.
Keep a smaller copy that is pixel-identical to the original, with no downsampling.
To make an image-heavy PDF much smaller, lower the DPI of its images or compress the source images, then rebuild the PDF. You will lose some quality in exchange for the smaller file.
This page explains what the object-stream re-save does to your file and names the cases (scans, photo-heavy PDFs, files already optimized) where it saves little.
Combine several PDFs into one file in the order you choose, without leaving your browser.
Copy the pages you name, like 1-3,5, out of a PDF into a new file, in your browser.
Turn every page of a PDF into its own JPG image, rendered in your browser with PDF.js.
Turn JPGs or PNGs into one PDF, one image per page, each page sized to its image, with no re-compression.
Rotate every page of a PDF by 90, 180 or 270 degrees and download the fixed file, all in your browser.
Remove the pages you don't want from a PDF by typing a range like 2,4-6, and keep the rest.
Your file is processed on this device and never uploaded, and there's no account to create.