Upload your PDF and choose a compression level to reduce the file size. Lossless keeps everything identical; lower quality modes shrink the file more aggressively by re-rendering pages as images.
Drop a PDF here or click to browse
If you pick Lossless, pdf-lib rewrites the document using object streams, which trims overhead like duplicate fonts and verbose dictionaries while preserving text, images, bookmarks, and form fields exactly. The High, Medium, and Low modes use pdfjs-dist to render every page onto a Canvas, then export each page as a JPEG that pdf-lib stitches into a smaller replacement PDF. Both strategies finish in seconds for typical documents.
Whether you pick lossless or an image-based quality mode, the entire reduction happens inside your browser memory. The original file is read locally, the smaller replacement is written locally, and the only data leaving the tab is the download you trigger yourself. You can check this yourselfin your browser's DevTools Network tab.
To stitch multiple PDFs into one before compressing, try merge PDF. For pulling out a subset of pages, use split PDF. To extract pages as standalone images, see PDF to image.