How it works
Each PDF page is rendered as an image (using the pdf.js library) and re-embedded into a new PDF with JPEG compression (using the pdf-lib library), at the same physical page size as the original. This technique works very well on image-heavy or scanned PDFs, but may not reduce — or could even increase — the size of PDFs that are mostly vector text, which are already fairly compact by nature.
We never hand you a bigger file
After generating the compressed version, we compare its size to the original file. If the compressed version isn't smaller, we return the original file unchanged — you never leave here with a PDF bigger than the one you uploaded.
About the levels
"High compression" shrinks the file more at the cost of more visual loss (useful for simple scans); "Low compression" keeps more quality with less reduction; "Balanced" sits in between.
Frequently asked questions
Is my PDF uploaded to a server?
No — compression happens entirely in your browser. The file never leaves your computer.
Can the file get bigger after compression?
The technique used (image-based recompression) may not help on vector-text PDFs. In those cases we detect it automatically and return the original file — never a bigger one.
Does compression work well on scanned PDFs?
Yes, that's exactly the kind of PDF (image-based) where this technique usually brings the biggest size reduction.