PDFs bloat for predictable reasons: embedded high-resolution images, unused fonts, duplicate objects, and metadata cruft. A 20 MB PDF with photos can usually shrink to 2-5 MB with no visible quality loss.
The fastest method is a browser-based tool like fwip. Drop your PDF onto the compress tool and it reduces the file size locally in your browser — nothing gets uploaded to a server. The compression is lossless where possible (removing duplicate objects, optimising font subsets) and uses controlled lossy compression on embedded images. For most documents, you'll see a 50-80% size reduction.
If you're on Mac, Preview can help. Open the PDF, go to File → Export, and under Quartz Filter select "Reduce File Size." The results are aggressive — image quality drops noticeably — but for text-heavy documents it works well enough.
For precise control, Ghostscript (free, command-line) lets you set exact DPI targets for embedded images. The command `gs -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook` targets 150 DPI, which is a good balance between size and print quality. Use `/screen` for smallest files (72 DPI) or `/printer` for high-quality output (300 DPI).
Avoid online compression services that require uploading your PDF. Documents often contain sensitive information — contracts, medical records, financial statements. Process them locally.