Compress PDF Online — Free, No Upload
Shrink a PDF without sending it anywhere. Presets or a target size in KB. Processing is local — WASM-class privacy: your file never leaves this browser.
Privacy first — files stay on this device
Drop a PDF and it is read into memory only. We do not upload, email, or keep a server copy. CDN scripts load the open-source libraries; they never receive your document.
- No account. No “processing queue.” No cloud folder.
- Reset or close the tab and the bytes are gone.
Drop a PDF here
or choose a file — application/pdf. Multiple select is accepted; this tool compresses the first file.
Starting…
How compression works in your browser
Nothing is posted to UtilForge. The file is an ArrayBuffer in this tab. Two engines run entirely on-device:
1. Lossless rewrite (always available)
pdf-lib reloads the document, clears title/author/producer metadata, and writes a fresh file with object streams. Text, vectors, and existing images stay as-is. Typical win: leftover metadata and a slightly tighter structure — often only a few percent.
2. Image downsample path (presets + target size)
pdf.js paints each page to a canvas. We JPEG-encode that bitmap and assemble a new PDF. Strong / Balanced / Light change render scale and JPEG quality. Target-size mode loops quality until the blob is near your KB goal. This is lossy: pages become pictures.
What production WASM will add
qpdf / pdfium WASM can recompress embedded image XObjects, subset fonts, and keep a real text layer. This tool does not ship that yet — see the staging notes. The privacy story is already the same: bytes never leave the machine.
FAQ
Does this compress PDF tool upload my file?
No. Your PDF is read into memory in this browser tab and never sent to a server. Library scripts load from a public CDN; your document bytes do not.
Is Compress PDF free?
Compression runs locally in your browser. You do not upload the file and you do not need an account to compress.
How does in-browser PDF compression work?
pdf-lib rewrite strips metadata. The downsample path renders pages with pdf.js, JPEG-encodes them, and builds a new PDF. This pack uses pdf-lib rewrite plus an optional pdf.js raster path.
Will I lose selectable text after compressing?
Lossless rewrite keeps text. Strong / Balanced / Light and target-size rasterize pages, so the download is image-only unless you tick “Lossless rewrite only.”
Can I hit an exact file size like 500 KB?
We iterate quality and show achieved vs target. JPEG steps mean an exact byte count is not guaranteed. If the rewrite already fits, we keep live text.
Is my PDF stored, logged, or used for training?
No. Closing the tab or hitting Reset drops the in-memory copy. This tool does not POST the file or write it to IndexedDB.
What if my PDF is password-protected or very large?
Encrypted files error out (this tool does not prompt for a password). Files over 25 MB get a memory warning. Very large files may hit browser memory limits.
When should I use Adobe Acrobat, Nitro, Foxit, or Smallpdf Pro?
When you need OCR, forms, redaction, or compression that keeps live text. This page is the no-upload shrinker.