ConvertUnlimited

Compress PDF

Reduce PDF file size locally in your browser. Selected file contents are processed locally in your browser.

Local-first PDF compression

Make documents smaller, faster.

Drag in your PDF. Our tool optimizes the internal structure to reduce file size while maintaining readability. ConvertUnlimited does not provide a server-side upload endpoint for this processing flow.

Drop PDF file here
PDF only · processed on your device

Processing happens in your browser. File contents are not intentionally uploaded by this tool.

What this tool actually does

ConvertUnlimited uses pdf-lib (version 1.17.1) for compression, and its Lossless mode performs exactly one operation: pdfDoc.save({ useObjectStreams: true }). This rewrites the PDF's cross-reference table using PDF object streams — a PDF 1.5+ feature that stores groups of small objects together in a compressed stream instead of as separate, plain-text objects — and drops redundant structural data along the way. Selected document contents are processed locally in your browser for this workflow; ConvertUnlimited does not provide a server-side upload endpoint for it.

Lossless mode does not decode, downsample, or re-encode embedded images. Unlike Ghostscript-based compressors, which decompress each embedded JPEG or scanned page image and re-save it at a lower resolution, pdf-lib treats embedded image and font streams as opaque data and copies them through unchanged. That is why Lossless mode barely helps scanned documents.

Balanced and Smallest modes work differently. They first run the lossless save, then redraw every page in your browser with pdf.js, re-encode each page as a JPEG and build a new PDF from those images. The tool keeps whichever result is smaller, and if neither result is smaller than your original, you get the original file back unchanged. The tool takes the conservative route: a file is NOT flattened, and you get the lossless result instead, whenever it has composite (CID) fonts, Chinese, Japanese or Korean text, fonts that are not embedded, form fields, links or other annotations, bookmarks, attachments, document structure (tags), large vector drawings such as plans, or is over 120 MB; the status line gives the reason. When it does flatten, it re-opens the new file and compares every page with the original render (page count, text positions, and how much of each page is covered by non-white pixels); if any page differs, the flattened version is thrown away. This is a pixel check, not OCR, so it can reject a good result but it is not a guarantee that every detail survived. The trade-off is real: in a flattened file the text can no longer be selected, searched or copied, links, bookmarks and form fields are gone, and fine print is softer. Balanced renders pages at about 115 dpi (JPEG quality 78), Smallest at about 80 dpi (quality 55). Files over 150 pages fall back to the lossless result.

What compress-pdf changes vs. what it leaves alone

ElementTouched by this tool?
Cross-reference table / object streamsYes — rebuilt and compressed
Redundant or orphaned structural objectsYes — dropped where save() detects them
Embedded raster images (JPEG, PNG streams)Lossless: no, copied through unchanged. Balanced and Smallest: yes, every page is re-encoded as a JPEG
Embedded fontsLossless: no. Balanced and Smallest: fonts are dropped because text becomes part of the page image
Page content streams (text and vector drawing)Lossless: no. Balanced and Smallest: rasterised, so text is no longer selectable

Which PDFs actually shrink

In Lossless mode only structural, object-level optimization happens, so results depend heavily on how the source file was originally saved. Balanced and Smallest are the modes for scans and image-heavy files:

  • Best candidates: PDFs saved by simple or older generators that store objects in plain, uncompressed form, or documents that have been incrementally re-saved many times by a desktop editor and accumulated redundant/orphaned objects. These can shrink by a noticeable double-digit percentage.
  • Little to no change: PDFs already saved with object streams by a modern generator — a current browser's "Print to PDF," LibreOffice, or Adobe Acrobat all do this by default — typically shrink by low single digits or not at all, since there is little structural "slack" left to remove.
  • Image-heavy or scanned PDFs: These are the least likely to shrink in Lossless mode, because their size is dominated by embedded image streams that mode does not touch. In Lossless mode a scanned document that is mostly JPEG pages will not get materially smaller. Use Balanced or Smallest for those, and check the result is still readable.

These are reasoned expectations based on how pdf-lib's save() and page rendering work, not numbers measured against a benchmark file set; actual results vary by document.

Failure modes and limits

  • Encrypted or password-protected PDFs. PDFDocument.load() is called without an ignoreEncryption option, so an encrypted file fails to load rather than being compressed.
  • Very large files. Documents in the neighborhood of 100 MB or more can exceed a browser tab's available memory during the load/re-save cycle; if the tab becomes unresponsive, try a smaller file or a device with more RAM.
  • Malformed or already-damaged PDFs. pdf-lib can recover from some structural issues, but a badly corrupted cross-reference table can prevent the file from loading at all.
  • PDF forms. Object-stream rewriting can change how a PDF viewer internally indexes AcroForm fields; field values themselves are preserved, but visually confirm a compressed form still behaves as expected before relying on it.

Frequently Asked Questions

Is it safe for sensitive documents?

Selected document contents are processed locally in your browser for this workflow, and ConvertUnlimited does not provide a server-side upload endpoint for it. You can use the tool without a network connection once the page has finished loading.

Will my PDF lose quality?

Not in Lossless mode, which only rewrites structural metadata (the cross-reference table and object streams). Balanced and Smallest redraw each page as a JPEG, so fine detail is softer and text can no longer be selected or searched. Links, bookmarks and form fields are removed too, which is why files that contain them are not flattened. Check the downloaded file before you replace the original.

What do the three Compression Level options do?

Lossless runs the structural save only. Balanced and Smallest first run the same save, then redraw every page as a JPEG at a lower resolution and keep that version only if it is smaller. Smallest uses a lower resolution and quality than Balanced.

Why is my scanned PDF still large after compression?

Scanned documents are usually a series of embedded page images, which Lossless mode copies through unchanged. Choose Balanced or Smallest to re-encode the pages at a lower resolution. If the file is already small JPEGs, flattening may not beat the original, and the tool then keeps the lossless result (or hands back your original file unchanged if even that is not smaller).

What's the difference between this tool and Ghostscript-based compressors?

Ghostscript-based compressors decompress embedded raster images and re-save them at a lower resolution or JPEG quality, trading image fidelity for size. Lossless mode never decodes embedded images and only optimizes the PDF's own object structure. Balanced and Smallest do re-encode, but by redrawing whole pages as JPEG images rather than recompressing each embedded image, so they also remove selectable text.

What is the maximum file size?

We don't set a hard limit, but documents in the range of 100 MB or more may exceed your browser's allocated memory during the re-save process. If the tab crashes, try using a more powerful device or a smaller file.

Can I compress an already-compressed PDF again?

Yes, but running this tool a second time on its own output typically produces little to no further reduction, since the object streams it writes are already compressed.

Browser Support

This tool works in all modern browsers supporting the File API and WebAssembly, including Chrome, Firefox, Safari, and Edge.

What this page does

Reduce PDF file size for free in your browser. Local compression with no signup or watermark; file contents are processed locally for supported workflows.

Supported workflow

Use the controls on this page, review the output in your browser, then download the result from this tab.

Privacy & processing

Trust and privacy

Files are processed locally where supported. Review the Trust Center for the processing model and the Privacy Policy for public-site privacy boundaries.