Compress a PDF — without uploading it
A 40 MB scan won't fit in email. The usual fix is to upload to SmallPDF — handing your file to someone else's server. Here's the same job done in your browser.
- Light / Medium / Strong presets
- No upload cap (browser RAM is the limit)
- Zero outbound requests (verify in DevTools)
- Cancel mid-job at any page
Three presets. One smaller file.
PDF.js re-renders each page at the chosen DPI, JPEG-encodes it, then pdf-lib stitches the result. Your file never leaves your machine.
Open the Compress tab
Click the button above or go to /compress.
Drop your PDF
One file at a time. Loaded into memory — nothing sent over the network.
Pick a preset
Light (lossless re-pack), Medium (1.5× / JPEG 75% — everyday), or Strong (1× / JPEG 55% — for email).
Hit Compress
About 5–10 seconds for a 50-page PDF. Live progress bar; cancel any time.
Compare and download
See before / after / saved. If the result would be larger, you get the original back.
Three modes, three trade-offs.
Pick by what the file is for.
Lossless re-pack
Best for text PDFs. Trims a few percent without touching content. Signatures preserved.
The default
1.5×, JPEG 75%. Scans and brochures shrink 60–80% while staying readable.
Make it fit email
1× / JPEG 55%. Text stays legible; you'll see JPEG artefacts on photos.
Never worse than original
If a preset would produce a larger file, the original is returned automatically.
Big files are exactly the wrong files to upload.
Compression's input is usually a big file — exactly the wrong file to hand to a stranger's server.
- Compression needs big uploads — the wrong files to send anywhere
- SmallPDF free tier caps inputs at 50 MB
- Server-side re-render with no preview of the trade-off
- Re-renders in your tab — no upload step
- Live progress + cancel at any page boundary
- 200 MB input works like 200 KB (only RAM matters)
Hundred-meg PDFs need a bit of care.
From compressing big files in-browser.
Stay in this tab
Browsers throttle background tabs — switching apps slows progress.
Close other heavy tabs
100+ MB at Medium can use ~1.5–2× the source size in RAM.
Use desktop over 100 MB
Phones often run out of RAM. If mobile fails, retry on a laptop.
Try Strong on photos
A 200 MB photo album often drops to 20 MB at Strong with no visible loss.
Compression has real edge cases.
Where the browser approach falls short.
Batch compress 1000 PDFs
No API. Use Ghostscript or qpdf from the CLI.
Preserving editable text
Medium and Strong rasterise. Use Light if text search matters.
Forms or signatures
Rasterisation flattens them. Light keeps them intact.
Encrypted PDFs
pdf-lib can't open password-protected PDFs. Unlock first.
Frequently asked compression questions.
How much smaller will my PDF get?
Depends on the content. Scans often shrink 70–90% at Medium; text PDFs maybe 5–15% at Light. If a preset would make the file larger, the original is returned.
Will the compressed PDF still be searchable?
Yes at Light. Medium and Strong rasterise pages, so output is image-only. Pick Light if search matters, or run OCR afterwards.
Is there a file size limit?
No enforced cap. Desktop Chrome with 8 GB+ RAM handles 500 MB PDFs. Phones cap out around 100 MB.
Will compression break a digital signature?
Medium and Strong rasterise pages, invalidating signatures. Light preserves the original objects — pick Light if signatures matter.