🗜️ Compress PDF
Shrink a PDF file right in your browser — no upload, no watermark, no sign-up.
Standard vs deep compression: when each one actually helps
Most PDFs balloon for one of two reasons. Either the file is a born-digital document whose internal objects grew lazy over time — repeated saves, embedded thumbnails, unused font subsets — or every page is already a full-page photograph or scan, and the JPEGs inside it were saved at near-maximum quality. The two modes on this page map exactly onto those two causes, and choosing the wrong one is why people think a PDF compressor "did nothing".
Standard compression loads the document with pdf-lib and saves it back with optimized object streams, cross-reference streams and deduplicated structure. It never touches a rendered page: vector drawings stay vector, embedded fonts stay embedded, and text remains selectable, searchable and copyable. On a born-digital Word export it typically shaves ten to thirty percent with zero visible change, and it is instant — there is no per-page rendering.
Deep compression ignores the existing structure and rebuilds the file from scratch. Each page is rendered by pdf.js at the DPI you choose, encoded as a JPEG, and placed into a fresh one-page-per-slot PDF. This is the mode that actually shrinks a 40 MB scan-to-PDF: the renderer discards the huge embedded image, and the new JPEG at 120 DPI and quality 0.7 is dramatically smaller while remaining perfectly readable on screen and on a home printer.
- Pick Standard for: contracts, resumes, invoices, reports, slides exported from Keynote or PowerPoint — anything where you can highlight a word and copy it.
- Pick Deep for: scanned contracts, faxed paperwork, phone photos of receipts, and PDFs where selecting "text" actually selects a whole page image.
- Trade-off to remember: after Deep mode, the page is a picture. Highlights, copy-paste and text search are gone — and that is expected, not a bug.
- If the result is still too big, lower the render DPI to 96 or the JPEG quality to 0.5; if banding appears in photos, raise quality toward 0.85.
How the result is measured, and where PDFs fit in your pipeline
Right after compression the page shows three numbers: the original size, the new size, and the percentage saved. The percentage is computed from the byte count of the file you actually download, so it matches what your email attachment meter or cloud upload bar says. Standard mode rewrites the file once in memory and the savings report arrives immediately; deep mode shows a live progress bar because every page has to be rasterized, and a 50-page scan takes a few seconds longer than a one-pager.
Compression is usually the last step in a PDF workflow, not the first. If your file came from a stack of separate scans, merge the PDFs first. If you only need a few pages out of a big deck, split the PDF before compressing so you do not pay to shrink pages nobody reads. And when the goal is to quote a paragraph or reuse a diagram, turn the pages into images instead — then run the exported JPEGs through the image compressor for the smallest possible web-friendly set.
- Files are read into the browser as ArrayBuffers and written back as a downloadable blob; nothing is streamed to a remote server.
- The downloaded file is named yourfile-compressed.pdf so you never overwrite the original — keep both until you have opened the result.
- Password-protected PDFs are rejected up front rather than half-processed; unlock the file in its viewer first and try again.
Frequently Asked Questions
How does this PDF compressor work?
Standard mode rebuilds the PDF structure with optimized object streams, which shrinks most text PDFs without touching one pixel of the page. Deep mode renders every page to a JPEG and rebuilds the document around those images, which is what works on scanned and photo PDFs.
Is my PDF uploaded when I compress it?
No. Compression runs entirely in your browser with pdf-lib and pdf.js. The file never leaves this device and nothing is queued on a server.
Which mode should I pick?
Start on Standard. It is fast, lossless in appearance, and keeps the text selectable and copyable. Switch to Deep only when Standard barely moves the needle — that happens mostly with scans and PDFs that are already full-page images.
Why does deep compression make the text unselectable?
Deep mode turns each page into a JPEG raster. After that the page is a picture, so words cannot be highlighted or copied — by design. It is the same reason a scanned PDF cannot be searched.
What do DPI and JPEG quality do in deep mode?
DPI is the render resolution: 96 for screen sharing, 120 balanced, 150 when you still want a clear print. JPEG quality trades file size against visible blockiness; 0.7 is the balanced default and 0.85 keeps the most detail.
Does compression remove the password or let me edit the PDF?
No. Encrypted or password-protected files cannot be opened by the local engine and are rejected with a clear message. Compression is not editing — it only repackages or re-encodes the existing pages.