Shrink PDF
Make your PDF file smaller by selecting a quality level and downloading the compressed PDF immediately. All processing happens locally in your browser tab.
Drop a PDF here or click to browse
How it works
Lossless shrinking re-serialises the source PDF with pdf-lib, packing its objects into shared object streams and leaving out the ones nothing in the current document uses, such as leftovers of earlier saves. The image-quality settings call pdfjs-dist to render each page on a Canvas at a tuned scale, then export the canvas as a JPEG that pdf-lib glues into a new compact PDF. The smaller file is ready to download the moment processing finishes.
Processing runs in your browser
Shrinking happens in your browser tab using pdf-lib and PDF.js bundled with the page. Our servers are not involved at any point. The slimmer file is ready to download as soon as the operation completes. You can check this yourself in your browser's DevTools Network tab.
Related operations
To stitch multiple PDFs into one before compressing, try merge PDF. For pulling out a subset of pages, use split PDF. To extract pages as standalone images, see PDF to image.
Frequently asked questions
- What quality level should I choose?
- For text-heavy documents, use Lossless, it reduces overhead without touching content. For scanned documents or PDFs with many images where file size matters more than text quality, try Medium or Low.
- What does 'text becomes non-selectable' mean?
- Image-based modes (High, Medium, Low) convert each PDF page to a JPEG and embed the image. The resulting PDF looks the same visually but the text cannot be selected, copied, or searched.
- How do I share a large PDF by email?
- Most email providers limit attachments to 10–25 MB. Try the Medium quality setting, check the compressed size the tool shows before you download, and step down to Low if the file is still too big.
- Can I shrink a multi-page PDF?
- Yes. All pages are processed in one pass. Each PDF can be up to 100 MB. Larger files are rejected with a clear error before any processing starts.
- Where does the shrinking happen?
- In this browser tab. pdf-lib and PDF.js run as JavaScript bundled with the page, and as a second layer, the site's Content Security Policy tells your browser to block the kinds of requests a script would use to upload a file.
Last reviewed September 30, 2026
Other pages for this tool
Related tools
- Background reading: Complete guide to PDF tools
- Step by step: Prepare a PDF for email attachment