Text tool

PDF Compressor

Try lossless stream recompression and object-stream packing in your browser. The output may be smaller, unchanged, or larger depending on the PDF.

In-browser processingNo account requiredPrivacy details ↗

Compress a PDF locally

Processed locally. Your PDF is never uploaded.

No file selected

One unencrypted PDF up to 20 MB and 100 pages. Lossless stream compression; output limit 100 MB.

Choose a PDF to begin.

Lossless stream recompression does not resample images and cannot guarantee a smaller file. Rewriting may affect signatures or advanced features; keep the original.

A QUICK WALKTHROUGH

How to use this tool

  1. Choose one unencrypted PDF up to 20 MB and 100 pages.
  2. Select a lossless compression level and compress locally.
  3. Review the actual size change and download the verified output. Keep the original.

Lossless stream compression

QPDF recompresses supported Flate streams and can pack objects into object streams. It does not lower image resolution, remove content, or promise a particular compression ratio.

Compare before you download

The tool reports both input and output sizes, including when the result is larger. The finished PDF is independently opened with PDF.js and its page count is checked.

Local processing and limitations

One PDF up to 20 MB and 100 pages is processed in a browser worker; output is limited to 100 MB. Password-protected PDFs are not supported. Rewriting may invalidate digital signatures or affect advanced features; retain the original.

GOOD TO KNOW

Common questions

Will the PDF always get smaller?

No. Already compressed streams and image data may have little room to shrink, and PDF rewrite overhead can make a small document larger. The actual size change is shown.

Does this reduce image quality?

No. This tool uses lossless stream recompression and object packing; it does not resample or re-encode image pixels.

Is the file uploaded?

No. QPDF WebAssembly runs locally in a browser worker. The selected PDF is not sent to a server.

Are passwords and signatures supported?

Password-protected input is refused. Rewriting may invalidate existing digital signatures; keep the original and verify the result.