Reduce PDF file size with quality control
This compressor reduces file size by rasterizing each page. It renders every page to a canvas with PDF.js and re-embeds it as a single flattened JPEG image, so the whole page becomes one picture. That is an important tradeoff to understand up front: because each page is turned into an image, selectable text and crisp vector graphics are NOT preserved, text in the output cannot be highlighted or copied and will soften if you zoom in far. The upside is reliable, predictable size reduction, especially for image-heavy or scan-style PDFs where text selection was never the point. The compression level (a 0-100 slider, also exposed as Web/Screen, E-book, Print, and High Quality presets) controls both the JPEG quality and the render scale. The render scale is not a single fixed value: lighter non-zero settings render at up to about 2x the base page size for more detail, while heavier settings (level 50 and above) drop to a 1.5x scale, and a setting of 0 skips rasterizing entirely and simply re-saves the original PDF (the only mode that keeps live text). At every non-zero level the page is still baked into pixels rather than stored as resolution-independent glyphs. For documents where keeping live text matters, leave the slider at 0 or do not run the file through this tool at all.
Initializing in your browser…
Compress images to reduce file size while maintaining visual quality. Supports lossy and lossless compression with real-time preview and size comparison.
Compress videos up to 90% smaller without visible quality loss. Multiple quality presets, resolution scaling, and bitrate control. Perfect for email, social media, and web uploads.
Add your signature to PDF documents. Draw, type, or upload your signature, then position it anywhere on the page. Perfect for contracts, agreements, and official documents.
A 28 MB brochure exceeds an upload portal’s 10 MB limit.
Input
brochure.pdf 28 MB · downsample images to 150 DPI
Output
brochure.pdf ≈ 7 MB, text crisp, images still print-acceptable
Most PDF bloat is over-resolution images; downsampling and re-compressing them (while leaving vector text untouched) is what produces a large size cut without fuzzy type. A preview confirms images are still acceptable before you commit.
This compressor reduces file size by rasterizing each page. It renders every page to a canvas with PDF.js and re-embeds it as a single flattened JPEG image, so the whole page becomes one picture. That is an important tradeoff to understand up front: because each page is turned into an image, selectable text and crisp vector graphics are NOT preserved, text in the output cannot be highlighted or copied and will soften if you zoom in far. The upside is reliable, predictable size reduction, especially for image-heavy or scan-style PDFs where text selection was never the point. The compression level (a 0-100 slider, also exposed as Web/Screen, E-book, Print, and High Quality presets) controls both the JPEG quality and the render scale. The render scale is not a single fixed value: lighter non-zero settings render at up to about 2x the base page size for more detail, while heavier settings (level 50 and above) drop to a 1.5x scale, and a setting of 0 skips rasterizing entirely and simply re-saves the original PDF (the only mode that keeps live text). At every non-zero level the page is still baked into pixels rather than stored as resolution-independent glyphs. For documents where keeping live text matters, leave the slider at 0 or do not run the file through this tool at all.
Shrink a PDF below common email size limits so it can be sent without a file-sharing link.
Reduce file size for faster downloads when hosting PDFs on a website.
Compress archived documents to free up disk space without losing important content.
Internally the behavior depends on the slider. At level 0 the tool just calls pdf-lib's PDFDocument.save with object streams enabled, so nothing is rasterized and text and vectors are left intact (the file may or may not get smaller). For any non-zero level the tool loads the PDF with PDF.js and rebuilds it page by page: it renders each page to an HTML canvas, calls canvas.toBlob('image/jpeg', quality), and embeds the resulting JPEG with pdf-lib (embedJpg) onto a new page of the same dimensions. The two non-zero paths differ in scale and quality: at level 50 and above the canvas is rendered at 1.5x scale with JPEG quality of max(0.1, 1 - level/100) (so quality falls toward a floor of about 0.1 as compression rises); below level 50 the canvas is rendered at a higher 2.0 - level/100 scale (roughly 1.5x to 2.0x) with a higher JPEG quality of about 0.92 - level/200. There is no per-image DPI analysis, no selective "only touch oversized images" pass, and no font or object deduplication, the entire page is flattened to a photo regardless of what was on it.
The practical consequences: a text-only document may not shrink much (or could even grow) because crisp text rasterized to JPEG is not especially compressible, while a page full of high-resolution photography can shrink dramatically. In every non-zero mode the output loses selectable text and turns vector art into pixels. If after processing the file is not smaller, the tool reports that the PDF is already optimized and could not be reduced further rather than producing a larger file silently.
Because of the rasterization approach, the best fit for this tool is making image-heavy or scanned PDFs smaller for email or upload when you do not need to copy text out of them afterward. If you need to preserve selectable text, vector sharpness, or document structure, set the level to 0 or do not run the file through this compressor.
It depends heavily on the content. Image-heavy and scanned PDFs can shrink substantially, while text-only documents may shrink little or not at all because crisp text does not compress well as a JPEG.
Only at compression level 0, which skips rasterizing and just re-saves the file. Any non-zero level flattens each page to a JPEG image, so text is no longer selectable or copyable and will look soft when zoomed in. If you need to keep live text, leave the slider at 0 or do not use this tool on that file.
Image-heavy or scanned PDFs that you want to make smaller for email or upload, and where you do not need to copy text out afterward. If the file cannot be made smaller, the tool tells you it is already optimized instead of producing a larger one.
PDF parsing and editing happen in your browser. Documents, and everything inside them, are never uploaded or stored remotely.