Skip to main content

PDF Compressor

Compress PDFs with Ghostscript image downsampling. Pick a quality preset. Files auto-deleted after 15 minutes.

Reviewed by · Last reviewed

How to Compress a PDF

  1. Drop a PDF onto the upload zone or click the dashed box to pick one through your OS file dialog. Up to 200 MB.
  2. Pick a quality preset. "Screen" is the smallest (~72 dpi images, web-grade), "Ebook" is balanced (~150 dpi), "Printer" preserves print-ready resolution (~300 dpi), and "Prepress" stays near lossless. Default is Ebook, the right pick for email and document sharing.
  3. Click "Compress PDF". The file is uploaded over HTTPS to our EU servers, processed with Ghostscript (gs -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook), and the smaller file is offered as a signed, time-limited download.
  4. Compare the result. Image-heavy PDFs typically drop 50-80 percent. Pure-text PDFs may not shrink much because there are no images to downsample.

What the Compressor Actually Does

This is real image-aware PDF compression, not a structural pass. Ghostscript renders every page through its pdfwrite device and re-encodes embedded images using the DPI and quality settings tied to the chosen preset. Embedded JPEG images get re-encoded at a target quality, large rasters get downsampled to the chosen DPI, and the resulting PDF is re-serialized with object streams and XRef compression. The output also drops duplicate images via the -dDetectDuplicateImages=true pass, which can save substantial bytes on a deck where the same logo appears on every slide. Text and vector artwork pass through losslessly; the compression is lossy only for embedded raster images, where the loss is governed by the DPI you chose.

Quality Presets in Plain English

  • Screen - 72 dpi images, JPEG quality target ~50. Smallest output, good for web previews and emailing the largest cuts. Visible quality drop on screenshots and high-detail charts.
  • Ebook - 150 dpi images, JPEG quality ~75. Default. Balanced for normal screen reading and email attachments. Most users should pick this.
  • Printer - 300 dpi images, near-lossless. Suitable when the document will actually be printed at letter or A4 size. Modest size reduction.
  • Prepress - 300 dpi images plus color preservation for offset printing. Smallest savings of the four; use only when sending the PDF to a print shop.

Good Situations to Reach for This

  • Shrinking a 40 MB loan application that is bumping against your email provider's 25 MB attachment limit.
  • Cleaning up a contract that has been edited fifty times in Acrobat and carries incremental-update baggage.
  • Reducing a board deck exported from Keynote or PowerPoint that saved with verbose XMP metadata and full-resolution screenshots.
  • Tightening a form packet before uploading to a government portal that caps per-file size at 10 MB.
  • Preparing scanned records for long-term storage in S3 or a compliance vault where per-GB cost adds up at scale.
  • Running a quick "is this file compressible?" diagnostic before deciding whether a heavier pipeline is worth setting up.

Realistic Expectations and Edge Cases

Compression ratios depend almost entirely on whether the document is image-heavy. A scan-based PDF often drops to 25-30 percent of its original size on the Ebook preset; a Word-exported text PDF may only drop 5-10 percent because there is little to downsample. Already-optimized PDFs (output of ocrmypdf --optimize 3 or another Ghostscript pass) will see near-zero savings on subsequent runs. Digitally signed files lose their signatures because the re-serialization changes the byte range the signature covers. Already-encrypted files are not supported; decrypt with the PDF unlocker first.

PDF Size: Where It Comes From

A PDF's on-disk size is the sum of its content streams plus its object overhead. Content streams carry the marking operators (text, vector paths, image XObjects) and are deflate-compressed per ISO 32000-2 clause 7.4.4. Image XObjects reference FlateDecode, DCTDecode (JPEG), or JPXDecode (JPEG 2000) filter chains; re-encoding them is what produces meaningful savings on most real-world documents. Fonts embed as CFF or OpenType programs subsetted to the glyphs actually used. Everything else (XRef table, object wrappers, metadata, page dictionaries) is cheap by comparison. Ghostscript attacks the expensive stuff (images) directly; structural-only optimizers leave that bytes-rich layer untouched.

Local Alternatives

For batches of dozens of files or for documents you do not want to upload, run the same Ghostscript pipeline locally: gs -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=out.pdf in.pdf. ocrmypdf --optimize 3 --jpg-quality 75 wraps Ghostscript with OCR if your input is scanned. qpdf --linearize --object-streams=generate gives a lossless cleanup. The browser tool wins on zero install and clear preset choice; the CLIs dominate on batches and on pipelines that already involve other PDF processing.

Frequently Asked Questions

How much compression can I actually expect?

Image-heavy PDFs (scans, board decks with screenshots, photo-rich reports) typically drop 50-80 percent on the Ebook preset. Pure-text PDFs (Word exports, plain Markdown-to-PDF) may only drop 5-10 percent because there are no images to downsample. Already-optimized files see near-zero savings.

Where is the compression performed?

On our EU servers using the canonical native Ghostscript binary. The file is uploaded over HTTPS, recompressed with the chosen preset, and the smaller file is offered as a signed, time-limited download. Both the input and the output are auto-deleted after 15 minutes. We do not log file content.

Is compression lossy or lossless?

It is lossy for embedded raster images (the resolution and JPEG quality are governed by the chosen preset), and lossless for text, vector artwork, and structure. If you need a fully lossless pass, run qpdf --linearize --object-streams=generate locally instead - that just rewrites the structure.

What is the difference between the Screen, Ebook, Printer, and Prepress presets?

They map to Ghostscript -dPDFSETTINGS values that change the target DPI and JPEG quality for embedded images. Screen targets ~72 dpi and JPEG ~50 (web-grade), Ebook targets ~150 dpi and JPEG ~75 (default, screen-reading), Printer targets ~300 dpi (print-ready), Prepress preserves color profiles and goes near-lossless. Use Ebook unless you have a specific reason to change.

Will compressed PDFs open in older readers?

Yes, as long as the reader supports PDF 1.4 or later, which every Acrobat from 5.0 onward and every mainstream browser viewer has supported for two decades. Ghostscript writes PDF 1.4-compatible output by default.

Does compression break digital signatures?

Yes. Digital signatures in PDF cover a specific byte range of the file, and any re-serialization changes those bytes even if every visible page looks identical. The compressed output will display the signature as broken or invalid. If you need to keep signatures verifiable, do not run signed documents through any compressor; sign after optimization instead.

Are password-protected PDFs supported?

No. Ghostscript needs to decrypt the file to recompress it, and we do not collect the password in this tool. Unlock the document first through the PDF Unlocker, then compress the plaintext copy. Both files are auto-deleted within 15 minutes regardless.

Are fonts re-subset during compression?

Ghostscript can re-subset fonts as part of the pdfwrite pass, and on documents with verbose embedded fonts this contributes a few percent of the savings. The extent depends on whether the source already shipped subsetted fonts (most modern Word/Google Docs exports do) versus full faces (typical of LaTeX or older PDF generators).

Can I batch-compress a folder of PDFs?

Not in this UI; it handles one file at a time. For batch work, a shell loop around Ghostscript is the right tool: for f in *.pdf; do gs -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile="optimized-$f" "$f"; done. If you regularly compress hundreds of files, wrap Ghostscript with a Python or Node script that streams results and logs size deltas.

How long do you keep the file?

Maximum 15 minutes from upload. The original upload, the compressed output, and the signed download URL all stop working after that. There is no opt-in retention; the cleanup runs every 5 minutes on a tight cron.

More PDF Tools