Compress PDF
Reduce PDF file size by re-rendering pages at lower quality. 100% in-browser.
How Does PDF Compression Work?
This tool uses a canvas-based re-rendering approach. Each page of your PDF is drawn to an HTML canvas at the chosen scale, then exported as a JPEG image at the chosen quality. Those images are assembled into a new PDF using pdf-lib. The result is significantly smaller, especially for scanned documents or PDFs with many high-resolution images.
Everything runs entirely in your browser — no file is ever uploaded to a server.
Which Compression Level Should I Choose?
Low Compression
Renders pages at full resolution with 85% JPEG quality. Good for documents where visual fidelity matters, such as presentations or design files.
Medium Compression
Renders at 80% scale and 60% JPEG quality. The recommended choice for most use cases — a solid balance between file size and readability.
High Compression
Renders at 60% scale and 30% JPEG quality. Best for reducing file size as much as possible when quality is less important, such as email attachments.
FAQ
Is my PDF uploaded to a server?
No. The entire compression process happens inside your browser using PDF.js and pdf-lib. Your file never leaves your device.
Does this work on text-based PDFs?
Yes, but this tool works best on scanned PDFs or image-heavy PDFs. For text-based PDFs, compression savings will vary and text will be converted to an image, which may reduce sharpness when zoomed in.
What is the maximum file size I can compress?
There is no hard limit, but very large PDFs (100+ MB) may take longer depending on your device memory and CPU. Most PDFs under 50 MB compress in seconds.
Why is my compressed PDF larger than the original?
This can happen with very small PDFs or PDFs that already use efficient compression internally. The re-rendering overhead from JPEG encoding can sometimes exceed the savings.
Can I compress multiple PDFs at once?
Not currently. The tool processes one PDF at a time. You can reload the page or click "Change PDF" to process another file.