Honest PDF compressor limits

LocalPdfCompress is a privacy-first PDF compressor that runs in the browser. Limits are product facts, not fine print. Read them before you depend on the download for a deadline. The tool itself is on the home page. Why browser PDF compress has these limits is the same story as the engine scope below — structural rewrite with pdf-lib, not a full raster pipeline.

Soft size and device memory

Guidance is about 25 MiB per PDF. Crossing the cap refuses the file. A phone can fail under the cap because decoding uses more RAM than the bytes on disk. There is no cloud fallback and no queue you can email to raise a server quota — there is no server processor for your file.

Prefer a laptop when you are near the soft limit. Closing other heavy tabs helps. Soft guidance is honesty about browser memory, not a promise that every 24 MiB file will finish on every phone.

Engine scope (pdf-lib)

pdf-lib is vendored at /assets/vendor/pdf-lib.min.js (MIT). License text sits beside it. Sources on the home page link to pdf-lib.js.org. The library is excellent at creating and copying PDF structure. It does not replace a desktop preflight that re-encodes every image.

Why browser PDF compress limits look “strict”

Upload compressors can claim aggressive shrink because they often re-encode images on a server GPU or CPU farm. A no-upload compressor that stays honest about pdf-lib cannot claim the same. The trade-off is intentional: your document bytes are not posted to us, and the UI shows before/after so growth is visible instead of hidden.

If you need half-size scans for email, look for a tool that explicitly downsamples images (not this MVP). If you need privacy during the process step, stay local and accept that structural rewrite may shrink little. Privacy framing: why local PDF compress matters. Steps: compress without uploading.

Quality and fidelity

Compress PDF vs ZIP (limit clarity)

ZIP does not change PDF internal packing; it wraps bytes for transport. Recipients often prefer a plain .pdf. Structural rewrite may change packing and still leave image bytes large. Neither ZIP nor this rewrite is a substitute for image downsampling. Pick the tool that matches the job — do not expect one button to do both.

How this differs from sibling intents

Merge/split, PDF-to-image, and image-to-PDF are different jobs. LocalPdfCompress only compresses by local structural rewrite. No cross-promo links to other review sites appear on these pages. Size expectations in more detail: reduce PDF file size.

Worked disappointment: scan PDF that barely shrinks

You drop scan-packet.pdf at 12 MiB. Meta shows 18 pages. Structural rewrite finishes at 11.8 MiB. That is not a broken compress — most bytes were page images, and this MVP does not downsample them. Keep the original if the delta is useless. Try a dedicated downsampler elsewhere if policy allows, or regenerate the scan at lower DPI from the source device. Do not paste the PDF into an upload compressor “just to check” if the point of using LocalPdfCompress was to avoid that upload.

Contrast with a text-heavy export that had redundant object packing: the same button might save a few hundred kilobytes. Always read the size panel. Always open the download before you attach it.

Password, DRM, and “unlock” searches

Search traffic often mixes “compress PDF” with unlock intent. LocalPdfCompress refuses that mix. Password-protected files may fail to load. We do not ask for a password field to “help.” We do not strip DRM. If you have a lawful unlocked copy, compress that copy. If you do not, stop. Terms: terms.

If the rewrite disappoints

  1. Keep the original when after ≥ before.
  2. Try the other mode once (with/without metadata strip) — still local.
  3. For image-heavy scans, use a tool that explicitly downsamples images (not this MVP).
  4. Confirm with DevTools on trust that disappointment is about size, not an unexpected upload.
  5. Report factual wording mistakes via contact without attaching the PDF.

Internal links that keep limits consistent

Home tool steps: compress on this device. No-upload walkthrough: compress without uploading. Size expectations: reduce PDF file size. Privacy framing: why local compress matters. Repeating soft ~25 MiB, no image downsample, may not shrink, and no password bypass on each of those pages is intentional.

Memory tips without raising a fake quota

Close heavy tabs. Prefer a laptop near 25 MiB. Do not expect a reply from contact@ to “raise the limit” — there is no server processor. Splitting a huge packet into smaller PDFs is a different product (merge/split elsewhere), not a hidden button here. One file at a time is intentional for the MVP.

Publisher and policy pages that repeat the same honesty: about, privacy, terms, contact. Verify no upload on trust.

Sources

FAQ

What is the soft file size limit?

About 25 MiB per PDF. The real limit is device memory; phones may fail sooner.

Does LocalPdfCompress downsample images?

No. This version performs structural rewrite with pdf-lib only. Image downsampling is out of scope for the MVP.

Can encrypted PDFs be compressed?

Usually not. Unlock a copy you are allowed to open elsewhere, then try that unlocked file. Passwords are not cracked here.

Is there a guarantee the file shrinks?

No. The UI shows before/after so you can keep the smaller file. Growth is an allowed outcome.

Why do browser PDF compress tools refuse huge files?

Decoding a PDF in a tab uses more RAM than the on-disk size. Soft caps protect the tab from crashing; they are not a cloud quota.

Are ads loaded on this experiment?

No advertising scripts are shipped today. CSP uses script-src 'self'. If that changes, privacy and about would need an honest update first.

Where do I verify no upload?

Follow the DevTools checklist on the trust page while you compress a non-sensitive sample.