Compress a PDF to 100 KB

The compressor below is set to 100 KB (100,000 bytes). It works on your device, stops at the first result that fits, and shows page 1 at 100% before you download.

Tool · runs in this tab · free
Drop the PDF that is too big

It is read in this tab and compressed in a Web Worker on your device. Nothing is uploaded.

Read in this tab. Never uploaded.

How this runs

Nothing loads until you add a file. Then the engine starts in a Web Worker in this tab.

Target size
This jobwaiting
Requests since your file0
Other origins contacted0
Enginepdf-lib + qpdf (WASM), Web Worker
Reported by this page. Check it yourself: switch off your network and run the tool again.

What reaching 100 KB took on our test files

1 of 10 files reached it with the default settings; with grayscale allowed, 1 of 4 scans and photos did. 2 corpus files were already under 100 KB.

FilePagesBeforeAfterResultLast stepSettings
phone-photos-4p415.4 MB98 KBfits72 dpi · q40default
scan-color-300dpi-6p615.7 MB266 KBsmallest legible: overPages as images · 72 dpi · q40default
scan-flate-gray-4p49.37 MB206 KBsmallest legible: overPages as images · 72 dpi · q40default
scan-gray-200dpi-10p109.26 MB638 KBsmallest legible: overPages as images · 72 dpi · q40default
IRS f1040es16331 KB306 KBsmallest legible: overPages as images · 130 dpi · q60default
IRS f4506c2246 KB181 KBsmallest legible: overPages as images · 72 dpi · q40default
IRS fss42123 KB119 KBsmallest legible: overPages as images · 72 dpi · q48default
IRS fw45209 KB182 KBsmallest legible: overPages as images · 130 dpi · q60default
IRS fw96141 KB124 KBsmallest legible: overPages as images · 130 dpi · q60default
IRS p15591.71 MB865 KBsmallest legible: overPages as images · 130 dpi · q60default
phone-photos-4p415.4 MB98 KBfits72 dpi · q40grayscale allowed
scan-color-300dpi-6p615.7 MB258 KBsmallest legible: overPages as images · 72 dpi · q40grayscale allowed
scan-flate-gray-4p49.37 MB206 KBsmallest legible: overPages as images · 72 dpi · q40grayscale allowed
scan-gray-200dpi-10p109.26 MB638 KBsmallest legible: overPages as images · 72 dpi · q40grayscale allowed

Our measurements, method: Each corpus file was opened in /compress-pdf in headless Chrome and compressed to each target twice: with the default settings (grayscale off, pages-as-images allowed as a last resort, metadata kept) and, for scans and photos, with “Allow grayscale” ticked. Output size is the byte length of the file the page offers for download; “hit” means it is at or under the target (1 MB = 1,000,000 bytes). Time is from pressing Compress to the download button appearing, on the machine named here. Files already under a target were not run. Measured 2026-10-05 on Apple M3 Max, Chrome/154.0.8037.95. Corpus: IRS PDFs (public domain, irs.gov) and files we generated (synthetic, CC0); same corpus on every size page. Your file will differ.

Getting to 100 KB

100 KB is a very small budget: roughly the size of one modest photo. It suits a single page, such as an ID card scan, a certificate or a one-page form, not a multi-page scan.

Grayscale is worth trying for a colour scan, but on our test files it rarely made the difference at this size (compare the default and grayscale rows below): dense text is what costs bytes. If the page still won’t fit legibly, the honest options are to scan only the part that matters, or to ask whether the portal accepts a larger file.

Other sizes: 200 KB · 500 KB · 1 MB · 2 MB · 5 MB

How exact-size compression works here

Most large PDFs are large because of images: phone photos and scans stored at 300 dpi or more. Text, vector drawings and fonts are usually a small share, so the engine leaves them alone and works on the images, which keeps the words crisp while the file shrinks.

It first removes images that are stored more than once and drops objects nothing refers to. If that is not enough, it re-encodes each image as JPEG at a lower resolution and quality, in steps, and stops at the first result at or under your target. Grayscale is only used if you allow it. If even the lowest legible step is too big, it says so and offers to split the file into parts that each fit, instead of handing you a blurry page.

MB here means 1,000,000 bytes, the stricter reading, so a file that fits our 12 MB also fits a portal that means 12 MiB.

Steps

  1. Add the PDF (drop it anywhere on this page).
  2. Type a target such as 2 MB or pick a destination.
  3. Watch the steps: each line is a real attempt with its real size.
  4. Check page 1 at 100% with the compare slider, then download.

Limits, stated plainly

  • Images in JPEG 2000, JBIG2 or CCITT fax format, CMYK images and masks are left unchanged (the step log counts them).
  • A PDF that is mostly text and fonts may not shrink much; the result says how much was possible.
  • As a last resort, and only if you leave it switched on, pages can be turned into images. Their text then stops being selectable, and the result says so.
Already have Preview or Edge? macOS Preview (File → Export → Quartz Filter → Reduce File Size) and some printers’ “Save as PDF” can make a file smaller, but neither lets you pick a number. This tool exists for when a portal gives you one.

Engine: pdf-lib and qpdf (WebAssembly) in a Web Worker; pdf.js for the preview. Your file is not uploaded; check it yourself.