Compress PDF
Re-encode pages smaller with Light / Medium / Heavy presets.
Runs in this tab. The file stays here.
About Compress PDF
Shrink a PDF by re-rendering pages and JPEG-encoding them with Light, Medium, or Heavy presets — locally.
Email size caps and portal upload limits are why people search “compress PDF.” Many online compressors also soft-upload the document. Here the work is a deliberate raster pass: each page is drawn with PDF.js, then re-embedded as JPEG via pdf-lib.
Light / Medium / Heavy change render scale and JPEG quality. Photo-heavy scans usually shrink a lot. A crisp vector brochure may look softer, especially on Heavy — that is the trade, not a bug. Text will usually stop being selectable because pages become images.
If you need a smaller file and searchable text afterward, compress then run OCR searchable PDF. If you only need fewer pages, Split or Organize first so you are not compressing junk.
How to use Compress PDF
- 1Drop a PDF.
- 2Pick Light, Medium, or Heavy.
- 3Download the smaller file and check a couple of pages before you send it.
What it won't do
- Vector sharpness and selectable text are sacrificed for size.
- Huge page counts mean more work in the tab — patience required.
Common questions
Will text stay selectable after compress?
Usually not. Pages become images. Run OCR on the result if you need search/select again.
Is this lossless compression?
No. It is a re-encode with quality presets. True lossless object-stream gymnastics are a different product and often barely shrink photo PDFs.
Which preset should I use?
Start with Medium. Use Light if quality matters more than bytes. Use Heavy when a portal rejects the file and you have already dropped unused pages.
Related tools
Why this one doesn't upload your file
There is no server to upload to. This page is a static file, and the work happens in your browser using the same graphics and WebAssembly code that renders every other site you visit. Your file is read from disk into memory, processed, and handed back as a download. Once the page has loaded you can disconnect from the network entirely and it keeps working. The longer explanation