Every time you drag a PDF into iLovePDF, SmallPDF, or Adobe's online compressor, your file travels across the internet to a server you don't control. For payslips, contracts, medical records, or any sensitive document, this is a real privacy risk — even if the service deletes the file after processing.
There is a better way.
Why most PDF tools upload your files
Traditional server-side tools upload your PDF because:
- PDF processing used to require heavy server libraries (Ghostscript, LibreOffice)
- WebAssembly didn't exist yet — browsers couldn't run complex computation
- Business models depend on seeing your files (targeted ads, data analysis)
Modern browsers have changed this entirely.
How browser-based PDF compression works
WebAssembly (WASM) lets browsers run compiled code at near-native speed. Libraries like pdf-lib are compiled to WASM and run entirely inside your browser tab.
When you compress a PDF in Privatool:
- Your browser reads the file using the FileReader API — no network request
- pdf-lib processes the PDF in browser memory
- The compressed output is generated as a local Blob URL
- You download it — again, no network request
The file never leaves the tab.
Step-by-step: compress PDF in your browser
- Go to PDF Compressor
- Drop your PDF (up to 20 MB)
- Choose a compression level — Medium is recommended for most files
- Click Compress PDF
- See the before/after size and download
That's it. No account. No upload. No waiting for a server.
How much can a PDF be compressed?
Results vary by content:
| PDF type | Expected reduction |
|---|---|
| Exported from Word/Google Docs | 10–40% |
| Already compressed (modern Acrobat) | 0–10% |
| Scanned documents | 5–25% |
| PDFs with embedded fonts | 15–35% |
The tool shows a "minimal reduction" notice when the PDF is already well-optimized, so you know it's not worth downloading.
How to verify no upload happened
- Open Chrome DevTools: press F12 or right-click → Inspect
- Click the Network tab
- Drop a PDF into Privatool's compressor and click Compress
- Scroll through the network requests
You will see zero POST requests carrying file data. The only requests are for the page's JavaScript and CSS — not your file.
This is verifiable proof, not a claim.
The four compression levels explained
| Level | What it does |
|---|---|
| Low | Minimal stream re-encoding |
| Medium | Recommended — balances size and compatibility |
| High | Aggressive stream compression |
| Extreme | Maximum compression, may affect older PDF readers |
All levels use structural compression (cross-reference streams) — not image resampling. Visual quality is always preserved.