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
- If your PDF is a scanned document (a photo of a page, not real text) and didn't shrink, it's almost certainly reason 2 — PNG or lossless-encoded images.
- If your PDF is a report, invoice, or form with mostly text and maybe a logo, it's reason 1 — there simply isn't much to compress.
- If the size difference is a rounding error in either direction, it's reason 3 — nothing meaningful changed either way.
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.
How to compress a PDF to an exact size (100KB, 1MB, etc.)
Everything above explains why a fixed-quality compressor sometimes doesn't move the number at all — but if you actually need the file under a specific size (a 1MB email attachment limit, a 100KB form upload cap), guessing at quality settings and re-running the tool by hand is tedious. ClientPDF's compressor now has a target-size option for exactly this: pick "Under 100 KB," "Under 500 KB," "Under 1 MB," or "Under 5 MB" instead of the default "No target — best quality," and the tool re-runs the same JPEG re-encode pass with quality and max image dimension stepped down in stages — 0.65 → 0.5 → 0.35 → 0.3, image edge capped at 1600px → 1200px → 900px — checking the real output size after each pass, until it fits or hits a quality floor.
If the file still can't reach your target at that floor without visibly damaging the images, the tool says so directly and hands you the smallest version it could produce, rather than silently returning something over your limit or faking a number. As explained above, this only works on PDFs with compressible JPEG content in the first place — a text-only PDF or one that's already PNG-encoded won't shrink further no matter how many passes it runs.
Try it yourself: compress a PDF — DevTools open, Network tab watching. If it says nothing was compressible, now you know why.