About this tool
PDFs balloon in size when they include high-resolution images (like scanned receipts at 600 DPI), embedded fonts that are only partially used, or duplicate objects across pages. Compressing the PDF can typically reduce file size by 50-80% with no visible difference at normal reading zoom.
This tool compresses in your browser. It downsamples embedded images to a configurable DPI (default 150), strips unused font glyphs, removes object duplicates, and re-saves with a tighter object stream. Vector content is preserved at full fidelity. Images at the target DPI are bicubic-resampled.
How it works
Open your PDF
Drop the file. Original size is shown.
Pick a quality preset
High (150 DPI images, web-quality), Medium (96 DPI, email-friendly), Low (72 DPI, archival reading).
Compress
The tool re-encodes images, strips unused font glyphs, and re-saves. Compressed size is shown alongside the original.
Download
Save the compressed PDF.
Use cases
Email attachments
A 25 MB PDF with scanned receipts compresses to 4-6 MB. Fits inside Outlook / Gmail attachment limits.
Document portals
Job application sites and government portals often cap at 5-10 MB.
Storage savings
A 10 GB folder of scanned PDFs typically compresses to 2-3 GB.
Web hosting
Faster downloads, lower CDN costs.
Format and spec details
| Image DPI presets | High 150, Medium 96, Low 72 |
|---|---|
| Vector content | Preserved at full fidelity |
| Fonts | Subset-embedded; unused glyphs stripped |
| Typical reduction | 50-80% for image-heavy PDFs; 5-15% for text-only |
Tips and best practices
- For email: aim for under 5 MB. Medium quality gets you there for most receipt-bundle PDFs.
- For archival: keep High quality. The savings are still meaningful and the visible quality is intact.
- Compress AFTER merging if you are bundling many PDFs - one compression pass on the merged file is more efficient.
How PDF actually works
PDF (Portable Document Format) was created by Adobe in 1993 and became an ISO standard (32000-1, then 32000-2) in 2008. It is essentially a self-contained document container that bundles:
- Text in vector glyphs (font subsets embedded so the document renders identically everywhere)
- Vector graphics (lines, fills, paths described mathematically - infinitely scalable)
- Raster images (compressed bitmaps, usually JPEG or zlib)
- Metadata (title, author, creation date, custom properties)
- Optional interactivity (forms, signatures, embedded scripts - sandboxed)
PDF operations and what each does internally
| Operation | What happens | File size impact |
|---|---|---|
| Merge | Concatenates page trees; copies resources; deduplicates fonts when possible | Sum of inputs minus shared resources |
| Split | Extracts page range to new file; copies only referenced resources | Smaller than original |
| Compress | Recompresses embedded images at lower quality; subsets fonts to used glyphs only | 30-90% reduction typical |
| Rotate | Adds /Rotate metadata to page object | Negligible |
| Reorder | Rearranges page tree | Negligible |
| Add watermark | Overlays content stream on each page | +10-50 KB per page |
| Encrypt | Wraps content streams in RC4 or AES cipher | Negligible |
Why some PDFs are huge
Common culprits, in order of frequency:
- Embedded fonts not subsetted - full font file (often 300 KB-2 MB per font) embedded instead of just used glyphs (~20 KB).
- Lossless image compression - photos saved as PNG-flate instead of JPEG.
- Scanned page images at 600 DPI - quality way beyond screen reading needs (150 DPI is plenty for screen).
- Form field metadata bloat - especially after multiple saves in Acrobat.
- Revision history embedded - the file retains every previous version's data.
How browser PDF tools work
This tool uses PDF-lib (or pdf.js, depending on the operation). When you drop a file:
- The file is loaded as a binary Uint8Array in your tab's memory.
- PDF-lib parses the byte stream into a JavaScript object graph (pages, fonts, images, metadata).
- The requested operation manipulates the object graph in memory.
- PDF-lib serializes the modified graph back to a new Uint8Array.
- URL.createObjectURL exposes that array as a download link.
Nothing uploads. Operations on huge files are memory-bound by your browser (typically 2-4 GB available before the tab crashes).
PDF/A and accessibility
For long-term archival, regulators require PDF/A - a subset of PDF that disallows external dependencies (no streamed video, no remote fonts, all colors embedded as ICC profiles). For accessibility (Section 508 US, EN 301 549 EU), the PDF must be tagged with logical reading order and alt text on images. Standard browser PDF tools usually preserve tags but don't generate them.
Privacy and offline operation
Every operation in this tool runs client-side using your browser's built-in APIs (Canvas, Web Audio, WebAssembly). No data is uploaded. After the initial page load you can disconnect from the internet and the tool keeps working.
We use Google Analytics and AdSense for the page itself, but neither sees the content of the files you process.
Frequently asked questions
Will compression make my PDF look worse?
At default 150 DPI, no visible difference at normal reading zoom. At Medium 96 DPI, slight softening on zoomed-in images. At Low 72 DPI, visibly softer images but text stays sharp.
Why is my compressed PDF only slightly smaller?
Text-only PDFs are already very compact. The biggest savings come from image-heavy documents.
Does compression remove text searchability?
No - text stays as text. Only the embedded images are downsampled.
Are signatures preserved?
Yes - signature fields and signed regions are preserved.
Is my PDF uploaded to a server?
No. All PDF processing happens in your browser using PDF-lib (a pure-JavaScript library). The file stays in your tab's memory. Disconnect from the internet after loading the page and the tool still works.
Can I edit text in a PDF?
Limited. PDFs store text as positioned glyphs, not flowing paragraphs. Replacing existing text in place is possible (PDF-lib supports it) but maintaining layout when text lengths change is hard. For substantial edits, edit the source document and re-export.
Why does merging two PDFs sometimes produce a much larger file?
If both PDFs embed different versions of the same font, the merged file contains both. PDF-lib doesn't currently dedupe font streams. Compressing the output afterwards usually recovers the size.
Can I sign a PDF in the browser?
Yes for visual signatures (image overlay). For cryptographic digital signatures (PAdES / PKCS#7), the signer's private key is required and browser support is limited.
Is there a file size limit?
Practical limit is your browser's available memory. Most PDFs under 100 MB process fine. PDFs over 500 MB may slow or crash the tab. For massive files, use a desktop tool like qpdf or Acrobat.
How accurate is the PDF Compress?
It applies the standard formula. Accuracy is limited only by your input precision. For decisions with material consequences (taxes, medical, legal, structural), use the result as a starting point and verify with a qualified professional in the relevant field.
Is the PDF Compress free to use?
Yes. 100% free, no signup, no payment, no API key. The site is funded by display ads around the tool but not inside the calculation flow.
Are my inputs saved anywhere?
No. All inputs stay in your browser tab. Closing the tab discards them. The site uses Google Analytics for traffic measurement (anonymized) but the analytics never see what you type into the form.
Can I use the PDF Compress on my phone?
Yes. The tool is responsive and tested on iOS Safari, Android Chrome, and major desktop browsers. Touch targets meet Apple's 44pt and Google's 48dp minimum.
Does the PDF Compress work offline?
Yes. Once the page has loaded, it works without internet. The calculation runs in JavaScript on your device.
How do I report a bug or suggest improvement to the PDF Compress?
Email hi@3tej.com with the URL of this page and a description of what you saw vs expected. We typically respond within 72 hours.
Can I share results from the PDF Compress?
Take a screenshot or copy the output. The page doesn't generate shareable URLs for specific calculations - inputs stay in your browser only.
Why are the results different from another pdf compress tool?
Most likely: different formula assumptions, different default values, different rounding rules, or different applicable rates. Check the methodology if both tools document it. Both can be valid for different scenarios.
