← All Tools

PDF Compressor🔒 100% local

Rebuild and compress PDFs in your browser with object-stream optimization. No uploads — privacy-first.

Compress a PDF

Rebuilds the PDF with cross-reference + object-stream compression, fully in your browser. Already-optimized PDFs may not shrink further — image-heavy PDFs compress best when embedded images are re-exported.

Related Tools

PDF to ImageImage CompressorMedia Compressor

The page loads your PDF with pdf-lib, copies every page into a fresh document, and saves it with object streams - a structural rebuild that packs the cross-reference table and small objects more tightly. You get the before and after sizes with the percentage change, a note when the rebuild came out larger, and a download link for the new file. The original never leaves the tab.

How to use it

  1. Choose a PDF; a file whose name and type are not recognised is rejected with 'Select a PDF file.'
  2. Press Compress and wait - the rebuild is synchronous work in the page, so the button shows 'Compressing...' while it runs.
  3. Read the size line, then download compressed-<original name>.

Worked example

<a PDF you supply: a 3-page text-only document built with pdf-lib, 3,993 bytes>becomesResult: 3.9 KB -> 3.9 KB (+1%) (3,993 bytes -> 4,035 bytes)

The tool needs an uploaded file, so this is the size line it prints rather than a text input. Reproduced with pdf-lib 1.17.1 using the tool's own sequence (load with ignoreEncryption, copyPages into a new document, save({useObjectStreams: true})); a 20-page text PDF behaved the same way, 25,383 -> 26,009 bytes.

When to use it

What it does not do