How to compress a PDF without quality loss (technical deep-dive)

What 'no quality loss' really means โ€” the lossless techniques that shrink a PDF with zero visible change, and where you must accept lossy image trade-offs.

6 min read

How to compress a PDF without quality loss (technical deep-dive)

By ScoutMyTool Editorial Team ยท Last updated: 2026-05-22

Introduction

โ€œCompress without quality lossโ€ is one of the most-requested and most- misunderstood things in PDF work, because it is both genuinely possible and strictly bounded. There is a whole class of lossless optimisations โ€” recompressing streams, subsetting fonts, removing waste โ€” that shrink a PDF with literally zero change to what it renders. And there is a hard ceiling: meaningfully shrinking photographic images requires lossy steps that change pixels. The honest answer to โ€œcan I compress this with no quality loss?โ€ is โ€œlosslessly, yes โ€” by however much removable redundancy the file has; beyond that, only by accepting image trade-offs.โ€ This deep-dive explains the lossless techniques, why some files barely shrink, and exactly where lossless stops.

Lossless techniques (and the one lossy one)

TechniqueLossless?Shrinks
Recompress streams (Flate)YesText/vector data, weakly-compressed objects
Font subsettingYesEmbedded fonts (keep used glyphs only)
Remove unused objectsYesOrphaned resources, old revisions
Deduplicate resourcesYesRepeated images/fonts stored once
Object streams / xrefYesStructural overhead
Lossless image filtersYesBitonal scans (JBIG2/CCITT lossless mode)
Downsample / JPEG re-encodeNoOver-resolution photos (lossy)

Step by step โ€” squeeze losslessly, then decide

  1. Diagnose what is big. Check whether the weight is images, fonts, or structural bloat with Image Quality Analysis โ€” this tells you how far lossless can get you.
  2. Run the full lossless pass. Recompress streams, subset fonts, drop unused objects and old revisions, and deduplicate resources with Compress PDF โ€” zero visible change.
  3. Subset and verify fonts. Confirm fonts are embedded as subsets with Font Embedding Check; full-font embedding is common removable waste โ€” see embedding fonts.
  4. Use lossless filters for bitonal scans. Black-and-white scans compress well with CCITT/JBIG2 lossless mode; avoid aggressive lossy JBIG2 where character accuracy is critical.
  5. Measure the result. If the file is now small enough, stop โ€” you have compressed with no quality loss.
  6. Only then go lossy on images. If images still dominate and you need smaller, downsample over-resolution images and re-encode photos at a sensible quality โ€” see compressing photo-heavy PDFs and quality vs. size. Keep a master.
  7. Understand the why. For the full theory of which algorithm applies to what, see the science of PDF compression.

FAQ

Is true "no quality loss" PDF compression actually possible?
Yes โ€” for the lossless techniques, genuinely zero visible (and zero data) change. A PDF carries a lot of squeezable redundancy that has nothing to do with image quality: text and vector streams that can be recompressed more tightly, fonts embedded in full when only a subset of glyphs is used, duplicated resources, unused objects left from edits, and structural overhead. Optimising all of that is lossless โ€” the output is byte-for-byte equivalent in what it renders. Where "no quality loss" stops being possible is images: meaningfully shrinking photographic content requires downsampling or lossy re-encoding, which by definition changes the pixels. So lossless compression is real, but its ceiling depends on how much non-image redundancy the file has.
What does lossless PDF optimisation actually do?
Several distinct things, all reversible in effect (the rendered result is identical). It recompresses content streams with the Flate (DEFLATE) algorithm at a higher effort, finding repeated byte sequences and encoding them compactly. It subsets fonts, embedding only the glyphs the document uses instead of the entire typeface. It removes objects nothing references โ€” orphaned images, leftover form fields, prior incremental-save revisions. It deduplicates identical resources so a logo used on every page is stored once. And it tightens structural overhead (object streams, cross-reference tables). None of this touches how the page looks; it removes waste. On a text-heavy or bloated file the savings can be substantial; on an already-optimised file, modest.
Why does my text-heavy PDF barely shrink even losslessly?
Because text and vector data are already information-dense and often already Flate-compressed, so there is little redundancy left to remove โ€” lossless compression removes redundancy, and if there is little, the gain is small. A clean, born-digital text PDF may already be near its lossless floor. The big lossless wins come from files with removable waste: un-subsetted fonts, duplicate images, unused objects, leftover edit revisions, or weakly-compressed streams. If a text PDF is small and was generated cleanly, "it barely shrank" is the honest, correct result, not a tool failing โ€” there was simply not much to remove without going lossy, which a text document should not.
How can scanned pages be compressed without losing quality?
Bitonal (black-and-white) scans have lossless options that are very effective: CCITT Group 4 and JBIG2 in its lossless mode are designed for pages of dark marks on a light background and achieve high ratios with no data loss. The catch is JBIG2 also has a lossy mode that groups visually-similar symbols and can, in rare documented cases, swap characters โ€” so for documents where every character must be exact, use the lossless setting. Color and grayscale scans are photographic and generally need lossy (JPEG) compression or downsampling to shrink much, so "lossless" there is limited to modest gains; bitonal scans are where lossless scan compression shines.
When do I have to accept lossy compression?
When the weight is in photographic images and you need a meaningfully smaller file. A color photo or a high-resolution figure carries far more information than text, and the only ways to shrink it substantially โ€” downsampling to a lower resolution or re-encoding with lossy JPEG at a lower quality โ€” change the pixels by definition. The skill is applying lossy compression only where the eye will not miss the detail: downsample images that are over-resolution for their use (a 600-DPI photo shown at screen size), and keep quality high for images that matter. So the honest rule is lossless for text/vectors/structure always, lossy for images only as much as the use case tolerates.
How do I get maximum lossless savings before going lossy?
Run the lossless pass first and fully: recompress streams, subset all fonts, remove unused objects and old revisions, and deduplicate resources. Check what is actually making the file big โ€” if it is images, lossless will not help much and you decide on downsampling; if it is fonts, structure, or bloat, lossless can do a lot. Only after exhausting lossless optimisation should you consider lossy image steps, and then only as much as the use requires, keeping a high-quality master. This order โ€” lossless to the floor, then measured lossy โ€” gets the smallest file for a given acceptable quality, rather than needlessly degrading images that lossless alone could have spared.
Is it safe to compress a confidential PDF online?
Prefer a tool that processes the file locally so a confidential document is not uploaded. ScoutMyTool runs lossless optimisation and (when you choose) lossy image compression entirely in your browser tab, so the file never leaves your machine. For anything you would not publish openly, confirm the tool does not upload before using it.

Citations

  1. IETF RFC 1951 โ€” โ€œDEFLATE Compressed Data Format,โ€ the lossless algorithm behind PDFโ€™s Flate filter. datatracker.ietf.org/doc/html/rfc1951
  2. Wikipedia โ€” โ€œLossless compression,โ€ the principle behind zero-quality-loss optimisation. en.wikipedia.org/wiki/Lossless_compression
  3. Wikipedia โ€” โ€œJBIG2,โ€ bitonal scan compression with lossless and (riskier) lossy modes. en.wikipedia.org/wiki/JBIG2

Shrink it losslessly first

Run a full lossless optimisation โ€” and decide on lossy image steps only if you must โ€” with ScoutMyToolโ€™s in-browser compressor. Your file never leaves your machine.

Open Compress PDF โ†’