Compress large PDF

or drop one here
Compression level
Target size
Choose a PDF file first.

A large PDF has two problems, and only one of them is compression. The other is that the whole file has to fit in a browser tab alongside the candidates being built from it. This page covers where that limit sits, how to work under it, and when to split the document instead.

How to compress a large PDF file

  1. Choose the PDF

    Press Choose a PDF, or drop the file on the page. The file is read in this tab and is not sent anywhere.

  2. Name the size

    Choose a compression level, a target below the file's current size, or type your own smaller number in KB.

  3. Press Compress

    Four methods race: copy the pages into a fresh file, re-encode the placed images, cut each embedded font down to the glyphs the pages draw, and, only when no other method reached the target, redraw the pages as images with the text kept on top.

  4. Read the check, then download

    Every candidate is opened again and its characters are counted against the source. The page shows the size, the method that won and the characters kept before it offers the download.

The four methods are described in full, with the measurements behind them, in how it works.

Why a browser tab is the real limit

Nothing is uploaded here, which is the point, and it is also the constraint. The source bytes, the parsed document and every candidate the four methods build have to live in the tab at the same time. A tab has a fixed memory budget and a large file can exhaust it.

A desktop browser with free memory handles far more than a phone, and a phone is the worst place to try. If a tab dies partway through, that is the ceiling and no setting moves it. The file was never sent anywhere, so nothing is lost except the attempt. A server-side compressor has no such ceiling, and it also has your document.

Cut the page count before the quality

Large scanned files carry a lot of nothing. Duplex scanners leave blank versos, cover sheets get scanned out of habit, separator pages survive into the final document. Forty wasted pages in a two hundred page archive is a fifth of the file, removed at zero cost to anything you care about.

Removing pages first also changes the arithmetic on everything after it. Each remaining page gets a larger share of the target budget, which means a higher image quality for the same final size.

Split, then compress each part

One enormous file is rarely the right shape. Parts open faster, download faster, and survive mail limits the whole never will. Split by chapter or by document, then give each part its own target.

A 10 MB target suits a whole archive that has to stay in one piece. The lossless first page is the right start when the pages are text heavy, because a large text document often gives up most of its weight without a single pixel changing. Either way, the compress tool reports what it reached and how.

Questions

How large a PDF can this handle?
There is no fixed number, because it depends on the browser, the machine and what else is open. The practical answer is that desktop browsers with free memory manage far more than phones, and that splitting a very large file is always more reliable than pushing it through whole.
What happens if the tab runs out of memory?
The run fails and you get an error. Nothing was uploaded, so nothing is exposed and nothing is stored. Close other tabs, try again on a desktop machine, or split the document into parts.
Is it faster to compress a large PDF on a server?
Usually yes, and it also means sending the document to someone else. This tool trades speed for the file never leaving the machine. For a large archive of anything sensitive, that trade is normally the right one.
Should I compress or split a large scanned archive?
Split first, then compress each part. Every part gets the full target budget, so the pages come out sharper than they would in one squeezed file, and each part is small enough to actually send.

The other pdfpix tools

All 30 of them run in a browser tab like this one. Each reads its own output back and checks it before offering the download, and none of them needs an account.

Where to go next