PDF Compressor
Shrink PDF file size by re-rendering each page at a chosen JPG quality and max width. Works on one file or a batch, runs entirely in your browser, and reports the exact before/after savings per file.
By Kalindu · Indie developer · Updated April 2026
PDF compression, in plain terms
A PDF compressor reduces the file size of a PDF so it's easier to email, upload, or archive. This tool works by re-rendering each page and saving it as a JPG at a chosen quality and maximum width — the most reliable approach for scanned and image-heavy documents.
At a glance
- Inputs. One or many PDFs — scans, reports, slide exports, anything image-heavy.
- Quality presets. High (0.85), Balanced (0.65), or Max compression (0.4).
- Max width. 900, 1200, 1600 pixels, or the original — caps pixel dimensions per page.
- Transparent stats. Each file shows before size, after size, and percentage saved.
- Batch output. Single file downloads directly; multiple files come back as a single ZIP.
- Mobile-aware. Clamps render scale on phones and warns when a single file is over 60 MB.
- Privacy. No uploads. Compression runs locally using pdf.js and pdf-lib.
How to compress a PDF
- Drop your PDFsDrag one or more PDFs into the upload area, or click the drop zone to browse. Each file shows up as a card with its name and size.
- Pick a quality preset and max widthChoose High, Balanced, or Max compression. Then set a maximum page width — 900 px for email, 1200 px for everyday use, 1600 px for archival, or Keep original to skip the cap.
- Compress and downloadClick Compress PDFs. Each file's card updates with before/after size and the percentage saved. Single file downloads directly, multiple files come back as a ZIP.
All processing happens entirely in your browser using pdf.js and pdf-lib. Your PDFs never reach any server — a good property when the files you're trying to shrink are contracts, statements, or medical records.
What is PDF compression?
A PDF can get large for several reasons: high-resolution scans, uncompressed photos, embedded fonts, or pages that were exported at print quality when screen quality would do. PDF compression reduces the file size of the output so it's easier to handle. There are two broad strategies: structure-level (re-compressing streams, dropping redundant objects, downsampling embedded images in place) and render-and-rebuild (rasterising every page as a JPG and repackaging). Structure-level approaches preserve selectable text and vectors but save less; render-and-rebuild is lossy but gives big, predictable savings.
Why this tool uses render-and-rebuild
This compressor takes the render-and-rebuild route because it works reliably in a browser and produces strong savings for the documents people actually want to shrink — scanned pages, slide exports, and image-heavy marketing PDFs. For those, savings of 60–90% are typical. For crisp vector PDFs with only text, structure-level compression elsewhere may make more sense; this tool will flag "negligible savings" and keep the original in that case.
Quality presets
High (0.85) keeps the result visually close to the input — good for documents you'll share with clients. Balanced (0.65) halves file size compared to High for a small quality cost and is the default for everyday sharing. Max compression (0.4) squeezes hardest; text stays legible but you'll see more JPG artifacts on zoom.
Max width
Max width caps the pixel dimensions of each rendered page. Lower widths shrink files dramatically because image size scales with the square of the width. 900 px is plenty for email. 1200 px is the everyday default. 1600 px is near-print. Keep original renders at the PDF's native page size — the biggest output.
Features of this free PDF compressor
- Batch compressionDrop many PDFs at once; each is compressed in turn.
- Three quality presetsHigh, Balanced, and Max compression cover every usual case.
- Max width select900 / 1200 / 1600 px, or Keep original.
- Per-file before/after statsExact bytes in, bytes out, and percentage saved.
- Negligible-savings guardIf a file can't be shrunk meaningfully, the original is kept rather than bloated.
- Mobile-awareClamps render scale on phones and warns at 60 MB+ inputs.
- Single-file or ZIP outputOne input downloads directly; two or more come back as a ZIP.
- Lazy-loaded enginepdf.js and pdf-lib only download after your first file drop.
- No upload, no serverAll work happens locally in your browser.
- No signup, watermark, or limitFree with no email gate, no trial, no “upgrade to remove watermark”.
When to compress a PDF
- Hit an email attachment limitMost inboxes cap at 10–25 MB; a Balanced / 1200 px pass usually fits comfortably.
- Upload to a portal with size capsUniversity applications, tax portals, and HR systems often reject anything over 5–10 MB.
- Speed up a slow PDFHeavy image-based PDFs scroll sluggishly; rebuilt as JPG they fly.
- Archive scanned documentsHigh-DPI scans often weigh 50+ MB — Max compression brings them under 10 MB.
- Share slide exportsSlide PDFs with big background images shrink dramatically.
- Save cloud storageCompressing a folder of scans can free gigabytes at once.
- Send via chat appsWhatsApp, Signal, and Telegram all cap file sizes; Balanced / 900 px rarely hits the limit.
- Hand off design proofsClient proofs don't need print resolution — 1200 px looks crisp on any screen.
Privacy: why a browser-based compressor is safer
The risk with server-side PDF compressors
Most "compress PDF online" tools upload your document to a server, process it there, and return a download link. The file sits on their infrastructure — often cached for the duration of the session, sometimes longer — and there's no way to verify what happens after you close the tab. That's a poor fit for anything you'd actually want to compress: contracts, statements, medical scans, or internal reports.
How this tool stays fully client-side
This compressor runs 100% in the browser. The pdf.js engine (for reading and rendering) and pdf-lib (for rebuilding) are loaded lazily the first time you drop a file. Every step after that is local: parsing the PDF, rendering each page to a canvas, encoding as JPG, embedding into a fresh PDF, and saving. Your document never reaches any server.
Your PDFs never leave your device — no uploads, no logs, no residual copies on any server.