โ—† ClientPDF
running locally in this tab โ€” nothing uploaded

Why didn't compressing my PDF make it smaller?

You ran a PDF through a compressor, and the file that came back is basically the same size โ€” sometimes even a few kilobytes bigger. That's not a broken tool. It's almost always one of three specific, checkable reasons.

1. There were no JPEG images to shrink

Nearly every browser-based PDF compressor โ€” this one included โ€” works by finding JPEG-encoded images inside the PDF (technically, image streams using the /DCTDecode filter), decoding them, and re-encoding them at a lower quality setting. That's where the size savings come from. If your PDF is mostly text, vector graphics, or form fields, there are no JPEGs to touch, and the file comes back close to its original size โ€” correctly, not as a bug.

2. The images are PNG or already losslessly compressed

Scanned documents are often saved as PNG, or as Flate/CCITT-encoded bitmaps rather than JPEG. Those formats compress differently, and a JPEG re-encoder won't touch them at all. This is the single most common reason a "compress" button appears to do nothing on a scanned PDF โ€” the tool is working exactly as designed, it just isn't the right tool for that image format.

3. Rebuilding the file added a small amount of overhead

Every PDF compressor has to rebuild the file's cross-reference table and object streams after touching anything inside it. That rebuild costs a few hundred bytes to a few kilobytes. If step 1 and step 2 both found nothing to shrink, that small rebuild overhead is the only thing that changed โ€” which is why an already-optimized PDF can come back very slightly larger than it went in.

How to tell which one applies to your file

What actually shrinks a scanned PDF

Scanned pages need to be decoded from their original format, re-encoded as JPEG (lossy, but dramatically smaller for photographic or scanned content), and rebuilt back into the PDF โ€” a different, heavier code path than re-compressing an existing JPEG. That's on the roadmap here; today, ClientPDF's compressor targets the common case โ€” PDFs with existing JPEG images โ€” honestly, and tells you when there's nothing compressible found rather than pretending to have done work it didn't do.

Try it yourself: compress a PDF โ€” DevTools open, Network tab watching. If it says nothing was compressible, now you know why.