This PDF compressor works by re-rendering every page as an image and rebuilding the document. After you upload a file, PDF.js draws each page at the resolution you choose (72–300 DPI, 150 by default), the page is encoded as a JPEG (quality 10–100%, 60% by default), and pdf-lib assembles a new PDF with the original page sizes. You then see the original size, the new size and the percentage saved before you download the result, named compressed_yourfile.pdf. The file is processed in your browser and never uploaded.
This approach works best on scanned documents and PDFs full of photos: phone-scanned contracts, lecture notes made from pictures, or catalogs with high-resolution images often shrink by half or more, small enough to email or to fit an upload limit. DPI controls sharpness. For on-screen reading and ordinary printing, 150 DPI is usually enough; 100–120 DPI is fine for screen-only use, and 200–300 DPI helps when small print must stay legible on paper. Lower quality means a smaller file but softer, blockier text edges.
Keep in mind that the output is an image-only PDF. Text you could previously select, copy or search becomes part of a picture, and hyperlinks, bookmarks, form fields and annotations are not kept. A text-based PDF exported from Word or a slide deck is already small, so turning it into images can actually make it bigger; the tool then shows the real, larger size and a negative saving, and you are better off keeping the original.
The tool handles one file at a time. Many pages or a high DPI need more memory and time, so on phones start at 150 DPI or lower. Password-protected PDFs cannot be opened directly; remove the password first with the PDF password remover tool using the password you know, then compress. The PDF.js and pdf-lib libraries load from a CDN, but your document is only processed locally.