How compressing a PDF works here
There's no upload step and no server doing the work. Everything happens in the page you're looking at, using pdf.js to render pages and pdf-lib to rebuild the document — both load the first time you click Compress PDF.
- Read the PDF locally. When you drop or pick a PDF, the browser reads it straight off your disk into memory and opens it with pdf.js. It counts the pages and gets ready to render them. No bytes go over the network. Open your DevTools Network tab and watch.
- Render each page to an image. Each page is drawn onto an off-screen canvas at the resolution your compression level picks: 150 DPI for Low, down to 96 DPI for High. This is the step that turns text into a picture, which is why the output is readable but no longer selectable.
- Re-encode as JPEG. Each rendered page is saved as a JPEG at the quality your level sets. JPEG throws away detail your eye won't miss, and that's where most of the size reduction comes from on scanned or photo-heavy pages.
- Rebuild and check the size. pdf-lib assembles the JPEGs into a fresh PDF, one image per page at the original page size, and strips the document metadata. Then the new size is compared to the original: if it's smaller you get the compressed file; if not, your original is handed back untouched.
Why use this compressor
- Your PDF stays on your device. iLovePDF, Smallpdf, and Adobe all send your PDF to their servers to compress it. This tool doesn't. A scanned passport, a signed contract, a medical report: anything private is processed right here and never uploaded, so there's nothing left sitting on someone else's machine.
- Honest about what it can do. This isn't magic. It shrinks scanned and image-heavy PDFs by re-compressing the images, and it tells you plainly that text becomes a picture in the process. If your file can't actually be made smaller, it says so and keeps your original rather than handing you a bigger file dressed up as a smaller one.
- Pick how hard to squeeze. Low keeps pages crisp for a modest saving; High renders at a lower resolution with stronger JPEG compression for the smallest file. You see the before and after sizes and the percent saved, so you can re-run at a different level if the trade-off isn't right.
- No account, no limits, no watermark. Because the work happens in your browser, there's no sign-up, no daily file cap, and nothing stamped onto the output. Compress as many PDFs as you like, as often as you like, without handing over an email address.
Common applications
Shrinking a PDF comes up most often when an image-heavy file is too big to send or store.
- Email attachments: get a scanned packet under a 25 MB Gmail or Outlook limit without uploading it to a third-party site.
- Web uploads: fit a photographed contract or expense report under a portal's file-size cap.
- Archiving: store a folder of scanned documents at a fraction of the size when you don't need full print resolution.
A worked example
Say you've scanned a 12-page agreement and the file is agreement.pdf at 18 MB, too big for your email gateway. Drop it here, leave the level on Medium, and click Compress PDF. Each page is rendered at 120 DPI and saved as a JPEG, then rebuilt into a new PDF. The readout shows the original at 18 MB, the compressed file at perhaps 3.4 MB, and 81% saved. Download it and it sails under the limit. The pages look the same on screen. The only thing you've given up is the ability to select the text, since each page is now an image, and the scan never left your laptop.
FAQ
Is my file uploaded anywhere?
No. The compression runs entirely in your browser using pdf.js and pdf-lib loaded into the page. Your PDF is read from your disk into memory, each page is rendered and re-encoded, and a new PDF is built locally. There is no server round-trip — you can confirm it in your browser's Network tab.
Why didn't my PDF get smaller?
This tool shrinks PDFs by re-compressing page images. A PDF that's mostly selectable text or vector graphics has very little image data to squeeze, so rendering it to images can produce a file the same size or larger. When that happens, the tool detects it, keeps your original, and tells you the PDF is already optimized. It never hands you a bigger file pretending to be smaller.
How much can I expect to save?
It depends entirely on the PDF. Scanned documents and photo-heavy files often drop by 50–90% at Medium or High, because their bulk is image data. Text-only or vector PDFs may shrink only a little or not at all. The before/after readout shows you the exact result for your file, so try Medium first and step up to High if you need more.
Will the text still be selectable?
No, and that's the core trade-off. To compress aggressively in the browser, each page is rendered to an image, so the output is a series of pictures rather than selectable text. The pages stay perfectly readable and look the same on screen, but you won't be able to highlight, copy, or search the text. If keeping selectable text matters more than size, this tool isn't the right fit for that file.
PDF Compress shrinks a PDF without handing the document to a website. Drop your file, choose a compression level, and click Compress — each page is rendered, re-encoded as a JPEG, and rebuilt into a smaller PDF, all in the browser. You'll see the original size, the compressed size, and the percent saved, and if the file can't be made smaller you keep your original. It's best for scanned and image-heavy PDFs; text becomes a picture along the way. The PDF engine only loads when you ask it to, so the page stays quick until you're ready.