Reduce PDF File Size for Email and Upload Limits
Re-render each page as an optimised image to cut the file size, with the quality and resolution under your control.
About the PDF Compressor
This compressor works by rendering every page of your PDF with pdf.js, encoding the result as a JPEG at the quality you set, and rebuilding a fresh document from those images. That approach produces dramatic savings on scanned and image-heavy documents, which is exactly where oversized PDFs usually come from. Two settings drive the outcome: an image quality slider running from 20 to 95 percent, and a resolution choice of Standard, Good or High.
It is important to understand the trade-off before you use it. Because pages are turned into pictures, any selectable text in the original stops being selectable in the output. The tool is honest about the result — it reports the before and after sizes with the percentage saved, and if the file came out no smaller it says so and suggests a lower setting rather than pretending it worked. For anyone who needs to compress a PDF without uploading it to a conversion site, the entire render-and-rebuild cycle happens in the browser.
Key Features
- Image quality slider: Runs from 20 to 95 percent and defaults to 60, which is a sensible starting point for scanned paperwork.
- Three resolution steps: Standard produces the smallest file, Good is the recommended middle setting, and High keeps more detail at a larger size.
- Honest size reporting: The result shows the original size, the new size and the percentage saved instead of just claiming success.
- Tells you when it failed: If the output is not smaller, the tool says the PDF was already compact and points you at a lower quality setting.
- Self-contained rendering: Both pdf.js and pdf-lib are served from quenavo.com, so compressing a document triggers no external connection.
How to Use the PDF Compressor
- Add the PDF you need to shrink.
- Set the image quality slider — 60 percent is a good first attempt for scans.
- Choose a resolution: Standard for the smallest result, Good for a balance, High to preserve fine detail.
- Compress, then read the before and after figures; if the saving is too small, lower either setting and run it again.
How It Works
Each page is opened through pdf.js, whose worker is loaded from /assets/vendor/js/pdf.worker.min.js so rendering stays off the main thread, and drawn into a canvas scaled by the factor behind your resolution choice. That canvas is encoded to JPEG at your chosen quality with canvas.toBlob, and pdf-lib embeds the images into a rebuilt document, sizing each page at three quarters of the canvas dimensions to map a 96 dpi canvas onto 72 dpi PDF points. The practical limits follow from this design: text-only or vector PDFs can actually grow, because crisp glyphs become a photographic image, and every page is rendered before the rebuild starts, so a document of several hundred pages will consume a lot of memory.
When You Need It
An accountant sending a client's year-end pack runs into a mail server that rejects anything over ten megabytes, and the pack is mostly scanned receipts and bank statements. Those pages compress beautifully, but the records carry account numbers and personal financial detail, so routing them through a free compression website to save a few megabytes is the wrong trade. Bid teams pushing a tender through a portal with a hard upload cap, and anyone attaching a scanned passport or utility bill to an application form, face the same squeeze.