- Zero upload
- Local CPU
- Offline-capable
- Auto cleanup
convert / Compress
Compress
Shrink PDF size by re-sampling images.
Add at least one PDF in the file tray to begin.
Explore More Tools
Methodology & Technical Transparency
Libraries used
- pdf-lib — Core PDF construction and editing logic
- pdf.js — PDF rendering and page rasterisation
Memory strategy
After each operation, URL.revokeObjectURL() is called immediately. All pdf.js document handles are destroyed via pdfDoc.destroy(). Workers are terminated on completion or component unmount.
We do not guarantee the permanent storage of files (as we don't store them). Processing of password-protected files is not supported locally.
Key Features
Three compression levels
Low (lossless re-save), Medium (1.5× JPEG rasterization), and High (1× JPEG) — choose the right trade-off.
Size reduction stats
After compression, the tool shows original size, compressed size, and percentage saved.
Lossless option available
The Low level uses object-stream packing — text stays fully selectable and vector graphics are not degraded.
Common Use Cases
Valuable for shrinking PDFs before emailing (most services cap at 10–25 MB), uploading to document portals with size restrictions, or reducing storage footprint for archival.
Frequently Asked Questions
- What is the difference between compression levels?
- Low re-packs the file structure without quality loss. Medium and High rasterize pages to JPEG at progressively lower quality — smaller file, less crisp.
- Will text stay selectable after compression?
- Only with the Low level. Medium and High rasterize pages, converting text to pixels.
- Is there a file size limit?
- No server limit — your browser's available memory is the only constraint. Very large PDFs may take a minute on Medium or High.