Compress a scanned PDF

Shrink a scanned PDF free, with no signup and no file-size cap. Straight about what re-encoding does to text, and it refuses to do it quietly.

Drop a file here

or paste from the clipboard

Options
dpi

The single biggest lever. A scan made at 300 rarely needs to stay there to be readable.

%

Below about 50 the speckle around letters in a scan becomes obvious.

Only needed for documents that still have real text. A scan has none to lose.

Results appear here. Nothing is uploaded.

    How it works

    The first pages are checked for a text layer before anything else happens. Each page is then drawn by pdf.js onto an OffscreenCanvas at your chosen resolution and encoded as JPEG, and those JPEG bytes are embedded verbatim into a new document — pdf-lib stores them without a second compression pass, so the page is exactly the image that was just produced. Resolution and quality are the only two levers, and resolution is by far the stronger.

    What to watch out for

    This is the wrong tool for a document with real text

    Redrawing a page as a picture means the words stop being words — no selecting, no searching, no screen reader, and often a larger file than you started with. The tool checks for a text layer and refuses rather than doing it quietly, which is why there is a tick box you have to find on purpose.

    Proper PDF recompression is not possible here

    Resampling the images inside a PDF while leaving its text objects intact is what Ghostscript and MuPDF do, and both are licensed AGPL, which this project does not use. Rasterising is the honest alternative a browser can offer, not an equivalent, and calling it "compress PDF" without that sentence would be a lie.

    Nothing recovers the resolution you drop

    The output contains only the pixels rendered at the resolution you picked. Going back for a sharper copy means starting from the original file, so keep it until you have checked the result at the size you will actually read it.

    Limits

    Files up to about 100 MB work reliably. Beyond that, the ceiling is your device's memory rather than any rule we impose — the work happens on your own machine. Tested in Chrome 140, Firefox 143, Safari 18.

    What “compress PDF” honestly means in a browser

    It is worth being direct, because this is a search people make constantly and almost nobody explains the answer.

    A PDF that is too big is usually too big for one of two reasons. Either it contains scanned page images at a higher resolution than anyone needs, or it contains text and vector drawings that are already tiny and cannot be squeezed further.

    The first case is common and fixable. The second case is not a compression problem at all — a hundred-page text document is often under a megabyte already, and if yours is not, something inside it is an image.

    Proper recompression walks the file, finds the embedded images, resamples them and leaves everything else alone. The tools that do that well are Ghostscript and MuPDF, both licensed AGPL, which rules them out here. Rather than ship a weaker thing under the same name, this tool does something different and says so.

    What it actually does

    It redraws every page at the resolution you choose and stores each one as a JPEG.

    For a scan, that is precisely the right operation. A scanned page already is an image; the only questions are how many pixels it needs and how hard to compress them. A 300 dpi scan of a letter, re-rendered at 150, typically loses nothing you would notice on screen and drops to a fraction of its size.

    For a document with real text it is destructive, which is why the tool looks for a text layer in the first pages and stops if it finds one. Getting past that check requires ticking a box that spells out what will happen — deliberately not something you can do by accident.

    Which setting to move first

    Resolution, without hesitation. Pixels scale with its square, so dropping from 300 to 150 removes three quarters of them before quality is even considered. Most scans arrive at 300 because that is what scanners default to, not because anybody needed it.

    Quality is the finer adjustment. Around 70 is comfortable for scanned text; below 50 the speckle that scanners produce around letters turns into visible blocks, which reads as worse than the resolution drop would.

    If the result is bigger than the original, the document was not a scan. The result panel says so rather than presenting a larger file as a success.

    Nothing is uploaded

    Rendering and encoding both happen in a Web Worker inside your browser. Scans are passports, contracts, medical records and signed agreements — the documents where “we process your file on our servers” is exactly the sentence you do not want to read.

    Your files never leave your browser. Last updated 2026-08-02.