Drop a PDF to reduce its file size in your browser. The tool inspects your document
first and tells you what will actually help — and it never gives you back a file larger than
the one you started with.
No uploads · Free · Works offline
Processed locally — your file is never uploaded to any server
Drag it in or click to browse. Nothing leaves your device.
The tool checks whether your PDF is text or scans, and recommends a mode.
All processing runs in your browser tab using JavaScript and WebAssembly.
See exactly what was saved. If nothing helped, your original is kept.
An online PDF compressor reduces the file size of a PDF so it is faster to upload, easier to email and cheaper to store. There are two fundamentally different ways to do it, and picking the wrong one is why files sometimes come back larger.
| Approach | What it does | Best for | Typical saving |
|---|---|---|---|
| Lossless (structural) | Rewrites the file's internal structure, compressing object streams and dropping redundancy. Page content is untouched. | Any PDF — especially text documents | 0–30% |
| Image (rasterising) | Renders each page to a JPEG and rebuilds the document from those pictures. | Scanned documents and photo-heavy PDFs | 40–90% on scans |
A page of text in a PDF is stored as instructions — draw this glyph here, in this font — which is remarkably compact, often just a few kilobytes per page. Render that same page to a JPEG at print resolution and you get a few hundred kilobytes of pixels instead. A ten-page text document can therefore come back dozens of times larger after "compression", which is exactly what happens with tools that rasterise unconditionally.
That is also why the image modes here are labelled clearly: they turn your text into a picture. It stops being selectable, searchable, and readable by screen readers. For a scan that costs you nothing, because the page was already a picture. For a real text document it is a poor trade.
This tool inspects your PDF before doing anything, tells you which kind of document it is, warns you before rasterising a text-heavy file, and compares every result against your original. If nothing produces a smaller file, you get your original back unchanged.