Shrink a large PDF right in your browser — and keep your text selectable while you do it. The tool reads your file first, tells you what is actually making it big, and never hands back something larger than you started with.
✓ Free forever✓ No upload✓ No signup✓ Keeps text selectable
📂
Drop a PDF file here
or click to browse · One PDF at a time
Document metadata, page thumbnails and file attachments are always removed — nothing renders them and they cost real bytes. Identical images repeated across pages are merged automatically.
Quick answer: Drop your PDF in and pick Keep text — it shrinks the embedded pictures, which is what makes almost every large PDF large, and leaves the text selectable and searchable. A scanned document typically comes down by 70–85%. If your PDF is mostly text there is very little to compress, and the tool will tell you that instead of inflating it. 100% free, browser-based, nothing uploaded.
How to Compress a PDF
1
Add Your PDF
Drop it onto the tool or click to browse. Nothing is uploaded — the file is read in your browser.
2
Read What It Says
The tool opens the file and tells you what it is made of, then recommends the method that can actually shrink it.
3
Choose Method & Quality
Keep text shrinks the pictures and leaves the text selectable. Flatten turns every page into an image.
4
Compress & Download
You get the real before-and-after size, plus what was changed — and never a file bigger than the one you started with.
Compress a PDF to an exact size
Most of the time you do not want "smaller" — you want under the limit. A job portal caps uploads at 2 MB, a visa application wants 500 KB, an email gateway rejects anything over 1 MB. Switch to Target file size, pick the number, and the tool works out the settings instead of making you guess at Low, Medium and High.
How it works
One dial runs from gentle to aggressive across image resolution and JPEG quality. The tool probes the most aggressive setting first, then searches back up for the gentlest one that still fits — so you get the best quality that meets your number, not the first thing that happens to squeeze under it.
It is a guarantee
If the tool says it hit your target, the file is under it. On a 588 KB scan asking for 400 KB we land at 383 KB — using the budget rather than overshooting to 100 KB and throwing away quality you asked to keep.
And an honest no
If your number is out of reach it says so after one pass, and tells you the smallest this file actually goes. Every PDF has a floor: its text, fonts and structure. Compression cannot go below that — only removing pages can.
What this compressor does — and what it will not pretend to do
Image resolution
Embedded pictures capped at 1000, 1400 or 2000 px on the longest edge, or set automatically in target mode.
Grayscale
Drops the colour out of every embedded image. Worth about 11–17% again on top of ordinary compression for a colour scan, measured on our own fixtures.
Duplicate images
Automatic. A letterhead or logo repeated on every page is stored once instead of forty times. Four copies of one picture in our test collapsed to one and took the file from 97 KB to 62 KB.
Metadata, thumbnails, attachments
Always removed. Nothing renders any of them and they cost real bytes.
Annotations & form fields
Available under More options, and off by default. Hyperlinks are stored as annotations, so removing annotations removes your links — that is a decision for you, not for us.
Font subsetting
We do not do this, and we are not going to claim we do. Cutting an embedded font down to the characters a document actually uses is a genuine saving that some desktop tools offer. The library this runs on can subset fonts it embeds itself, but not fonts already embedded in someone else's PDF, and there is no honest way to fake it in a browser.
JPEG 2000 & fax scans
Images stored as JPXDecode, JBIG2Decode or CCITTFaxDecode — common in older archive scans — are left exactly as they are. We have no decoder for them, so they pass through untouched rather than mangled.
Why most PDF compressors make text documents worse
A PDF is not one kind of thing. A scan is a stack of photographs; a report exported from Word is text, fonts and vector shapes. Those need opposite treatment, and a tool that does the same thing to both will wreck one of them. The common shortcut — render every page to a JPEG and rebuild the file — is excellent on a scan and actively harmful on a text document.
We measured it. A ten-page text PDF built with Helvetica body copy, flattened at each preset:
Original
11 KB · text selectable
Flattened (Low)
89 KB — 8× larger, text destroyed
Flattened (Medium)
142 KB — 13× larger, text destroyed
Flattened (High)
259 KB — 24× larger, text destroyed
Keep text
11 KB — unchanged, and every word still selectable. There was nothing to compress, and the honest answer is to say so.
A page of crisp black text is about the most expensive thing you can ask a JPEG to store — sharp edges everywhere, which is exactly what JPEG is bad at. As text it is a few kilobytes of characters and a font reference.
On a scan the picture reverses completely. A five-page scanned invoice at 200 dpi with an OCR text layer, 589 KB:
Flattened (Medium)
567 KB — 81% smaller, but the OCR text layer is gone
Keep text
165 KB — 72% smaller, OCR text layer intact.
Shrinking the embedded pictures gets you the same order of saving as flattening the whole thing, and you keep a searchable document. That is why Keep text is the default here, and why this tool reads your file and tells you what it is before it does anything to it.
Why Use Convertlo to Compress PDFs?
🔒 100% Private — files never leave your browser, zero server uploads
🆓 Free forever — no account, no watermark, no file size cap per session
🗜️ 3 quality presets — Low, Medium, High to match your needs
📝 Keeps your text selectable — the default method shrinks the pictures and leaves the text alone
📉 Never returns a bigger file — if a PDF cannot be usefully compressed, it says so and hands the original back
📱 Works on mobile — works on any device with a modern browser
⚡ No queue, no wait — processing starts the instant you click Compress
Features
🔒
100% Private
No server. No upload. Your PDF stays on your device the whole time.
🪶
Low Preset
Pictures capped at 1000 px; flatten renders at 72 dpi. Smallest file.
⚖️
Medium Preset
Pictures capped at 1400 px; flatten renders at 108 dpi. Everyday sharing.
💎
High Preset
Pictures capped at 2000 px; flatten renders at 151 dpi. Most detail kept.
🔎
Reads the file first
Tells you how much of your PDF is images before you compress, and which method will help.
📱
Mobile-Ready
Works on iPhone, Android, tablet, and desktop.
Frequently Asked Questions
Yes — completely free, no limits, no watermarks, no account required. Convertlo runs entirely in your browser.
No. Everything happens locally in your browser using pdf.js and pdf-lib. Your files never leave your device.
Two ways, and the tool reads your file and recommends one. Keep text is the default: almost every large PDF is large because of the pictures inside it, so this re-encodes those embedded images at a smaller size and leaves everything else — text, fonts, vector graphics — exactly as it was. Flatten is the other method: it renders each page to an image and rebuilds the PDF from those. Flatten can squeeze a little more out of a scan, but it turns your text into a picture of text.
With Keep text, yes — that is the whole point of it. The text, fonts and vector graphics are untouched, so the result stays selectable, searchable and readable by a screen reader. With Flatten, no: every page becomes an image, so the file looks identical but the text is gone as text. The tool tells you which method it is about to use, and warns you before flattening.
Because there was not much in it to compress. A PDF of plain text and vector graphics is already tiny and highly compressed — a ten-page text document is often under 100 KB, and no compressor can meaningfully improve on that. The tool measures how much of your file is image data before it starts and tells you up front when the answer is 'almost none'. When that happens it hands your original file back unchanged rather than returning something larger.
Flattening a text document absolutely can, and dramatically — we measured a 12 KB ten-page text PDF coming back at 142 KB, more than ten times larger, because a page of crisp text takes far more space as a JPEG than as text. That is why Flatten is never the recommended method for a text PDF, and why Keep text hands back your original rather than a larger file when it cannot improve on it.
Medium for almost everything. The presets set two things: the largest an embedded picture may be (1000, 1400 or 2000 pixels on its longest edge) and, if you flatten, the resolution each page is rendered at (72, 108 or 151 dpi). Note that even High is 151 dpi, which is fine on screen and for everyday printing but below the 300 dpi you would want for archival print work — if that matters, use Keep text rather than flattening.
It has to be unlocked first. You can do that here too — open our Unlock PDF tool, remove the password, then come back and compress the result.
Switch the tool to Target file size and pick your number, or use a direct link like /compress-pdf.html?target=500kb which opens it ready to go. The tool then works out the image resolution and quality for you rather than making you guess at Low, Medium and High. It searches for the gentlest settings that still meet your number, so you get the best-looking file that fits rather than the first one that happens to squeeze under.
It tells you after a single pass, and gives you the real number — the smallest that particular PDF goes. Every PDF has a floor made of its text, fonts and internal structure, and no compressor can go below it; only removing pages can. When that happens the tool still hands you the smallest file it managed, and suggests grayscale or splitting the document. It will never quietly miss your target and say nothing.
No, and we would rather say so than imply otherwise. Trimming an embedded font down to the characters a document actually uses is a real saving, but the library this tool runs on can only subset fonts it embeds itself — not fonts already sitting inside someone else's PDF. There is no honest way to do it in a browser today, so we do not list it as a feature.
Not yet — one file at a time. Each PDF is analysed individually because the right method genuinely differs from file to file, and batching that well means showing you a separate recommendation per file rather than applying one guess to all of them.