Reduce your PDF file size without any upload. Choose lossless optimisation to keep all content intact, or pick a lower quality level for maximum compression. Everything runs in your browser.
Drop a PDF here or click to browse
Lossless mode uses pdf-lib to re-serialise the document with object stream compression, packing the existing content more efficiently without altering it. The image-based quality modes hand each page to pdfjs-dist, which renders it onto a Canvas, exports the canvas as a JPEG, and lets pdf-lib embed those JPEGs into a fresh output document. Picking the right mode for your file is the fastest way to shave megabytes off.
Every step of the compression pipeline, parsing, page rendering, and writing the smaller file, runs inside this browser tab. pdf-lib and PDF.js execute as JavaScript loaded by the page, with no PDF data ever sent to our servers. 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.