Skip to content
OptiMedia

PDF compressor that never uploads your file

Scans, contracts, decks and exports — re-rendered and rebuilt inside your browser by pdf.js and pdf-lib. Pick a compression level, check page 1 before and after, then download the smaller PDF.

  • Three levels plus a lossless pass
  • Before/after preview of the real output
  • Batch queue with ZIP download
  • 0 bytes uploaded — verify in DevTools

Choose a level, check the result, download

The file is parsed on your device and the compressed PDF is handed back as a blob — no queue, no server, no retention.

Drop PDFs here, or click to chooseUp to 100 MB per file, as many as you like. Scans, contracts, decks and exports all work — the file is read in this tab.Nothing is uploaded: pdf.js and pdf-lib run in your browser

Compression level

How hard should it squeeze?
Usually 60–85% smaller. Great for contracts, proposals, scanned invoices and email attachments.

The default: 110 DPI with a 72% JPEG quality, which stays readable on screen and in most print-outs.

Lossy presets re-render every page, so text stops being selectable and form fields, links and annotations are flattened into the page image. Keep the original file when you need those; the lossless preset preserves them.

Your before/after preview appears here

Add a PDF and page 1 is rendered both ways so you can drag the divider and judge the quality before you download — or grab the whole batch as a ZIP.

  • 0 bytes uploaded

    pdf.js parses the file and pdf-lib rebuilds it inside your tab. There is no POST route and no storage bucket to leak.

  • Three levels + lossless

    Pick 150/110/96 DPI for the smallest file, or the lossless pass when you need selectable text and working links.

  • Batch and ZIP

    Queue as many PDFs as you need; each is processed in turn with page-level progress, then packed into one archive.

Compression guide

How to shrink a PDF without ruining it

Why PDFs get so large in the first place

A PDF is a container, not a format: it stores pages as text, vectors and images mixed together. The bloat usually comes from the images inside — a scan exported at 600 DPI, a slide deck with full-resolution photos, or a phone-camera capture wrapped into a PDF that nobody ever downsampled.

The second source is structural: objects stored uncompressed, duplicated fonts, thumbnails and revision history. That part is what the lossless pass removes without touching a single pixel.

Lossless optimisation vs re-rendering the pages

Lossless optimisation rewrites how the file is stored: object streams are compressed, redundant objects are dropped and the cross-reference table is rebuilt compactly. Text stays selectable, links and forms keep working, and quality is bit-for-bit identical — but the savings stop at the structural waste.

Re-rendering goes further: each page is drawn at a target resolution and encoded as a JPEG, then assembled into a new PDF. That is where the 60–90% reductions come from on scans and decks, at the cost of text no longer being text.

Choosing a level for contracts, portals and archives

For documents that must stay searchable or fillable, stay on the lossless pass and accept a smaller win. For anything that is read and archived — signed scans, invoices, ID copies, presentation exports — medium (110 DPI) is the sweet spot; high (96 DPI) is for upload portals with hard size limits.

Always open the comparison slider on page 1 before you commit: it shows the real output, not a preview render, so you can spot a bad level in one glance.

Privacy by architecture

Nothing is uploaded — and you can verify it

Privacy claims are cheap, so this one is falsifiable: the app has no upload code path at all.

  • The upload step simply does not exist

    There is no POST route, no S3 bucket and no signed URL in this app. Open DevTools → Network, compress a 5 MB photo and watch the request list stay empty apart from the page itself.

  • Your files live in a blob URL

    Images are held as in-memory objects and blob URLs that the page creates and revokes. Close or reload the tab and they are gone — nothing survives, because nothing was stored.

  • Metadata is dropped, not kept

    Canvas re-encoding writes a fresh file, so EXIF geolocation and camera metadata are not carried over. That also means you should keep your own copy of the original when metadata matters (copyright fields, for example).

PDF compression FAQ

What each level trades away, how much a PDF can realistically shrink and what happens to text, links and passwords.

How much smaller can a PDF get?

Scanned documents and image-heavy exports shrink the most: 60–90% is common at the medium level because every page is re-rendered and re-encoded as a JPEG. Text-only PDFs that were already built well often shrink only 5–25%, and the lossless pass is usually in the 5–40% range. The results table shows the exact byte count saved, and if rebuilding would produce a bigger file the tool hands back your original.

What is the difference between the lossless pass and the three levels?

The lossless pass rewrites the document structure — compressed object streams, redundant objects dropped — without touching the page content, so text stays selectable, links work and vectors stay sharp. The low, medium and high levels rasterise each page at 150, 110 or 96 DPI and rebuild the PDF around those images, which saves far more space but flattens text, forms and annotations into the page picture.

Which level should I choose?

Medium (110 DPI, 72% quality) is the default and reads well on screen and in most print-outs. Use Low (150 DPI) for contracts, invoices and anything with fine print, and High (96 DPI) when a portal imposes a hard upload limit or the file is only ever read on screen.

Is my PDF uploaded anywhere?

No. pdf.js parses the file and pdf-lib rebuilds it inside your browser tab, both loaded on demand from your own device. There is no upload route in the application — open DevTools → Network, compress a file and watch nothing but the page assets move.

Will links, forms and bookmarks survive?

With the lossless pass, yes: the original page content is copied, so bookmarks, links and form fields keep working. With the lossy levels they do not: each page becomes a single image, which is the trade-off that buys the smaller size. Use the sharpest level when a document needs to stay interactive.

Are password-protected PDFs supported?

Not yet. Encrypted files cannot be parsed without the password, so the tool tells you instead of failing silently: remove the password (or export an unprotected copy) and compress that. Everything else — including large scans and rotated pages — is processed normally.

  • Image compressor

    Drop in PNG, JPG or WebP files, compare original vs compressed side by side and download the smaller files — or all of them as one ZIP.

    Open tool
  • WebP converter

    Convert any PNG or JPG to WebP at the quality you pick: typically 60–80% smaller than PNG with no visible difference.

    Open tool