Compress a PDF

Reduce a PDF's file size by re-rendering each page as a JPEG at the quality and resolution you choose.

Drop your file here

or click to browse

All files or paste with ⌘V

How it works

Reduce a PDF's file size by re-rendering each page as a JPEG at the quality and resolution you choose.

Useful for image-heavy PDFs (scans, slide decks, brochures) where the original file is much larger than it needs to be. Pick a quality (30 to 92, default 60) and a resolution (72, 108, 144, or 216 DPI). Each page is rendered to a canvas, encoded as JPEG, and re-assembled into a fresh PDF. You'll see the before-and-after size with the saving percentage. Important caveat: this is raster compression, so text becomes part of an image and is no longer selectable or searchable. If you need to preserve selectable text, this tool isn't the right fit. For text-only PDFs, also expect the output to be larger, not smaller. Runs on pdf-lib + pdf.js in your browser.

How to use it

  1. Drop your PDF. Drag the PDF into the upload area — scans and slide decks compress best.
  2. Choose quality and resolution. Pick a JPEG quality (30 to 92) and a DPI (72 to 216); lower values mean smaller files.
  3. Compress. Hit Compress and each page is re-rendered locally as a JPEG at your settings.
  4. Check the savings and download. Review the before and after size, then download the smaller PDF.

Frequently asked questions

How much smaller will my PDF get?
Depends on the original. Scans at high DPI typically shrink 60-90%. Already-compressed PDFs may not shrink at all, or may grow slightly.
Will text still be selectable after compressing?
No. Pages are flattened to JPEG, so text becomes part of an image. Use this for scans and image-heavy decks, not for text documents.
Does this upload my PDF?
No. The whole compression runs in your browser via pdf-lib and pdf.js.
Why did my PDF get larger after compressing?
Likely because it was already optimized, or it's a text-only PDF being converted to JPEG pages. Try a lower quality and lower DPI, or skip compression if the file is already small.
Saved