Loading…
Reduce PDF file size. Use when sharing; for images use image-compressor. Input: PDF ≤10MB. Returns compressed PDF. 100% client-side, files never leave browser.
PDF Compressor is loading — interactive editor will appear here. Use examples below to try instantly once loaded.
Press ? for keyboard shortcuts
Re-saves PDFs with optimized object streams via pdf-lib to reduce size 5–15% without rasterizing. Shows original vs new size, saved bytes, compression ratio, page count, and lets you download the optimized file. All client-side.
PDFs often contain uncompressed object streams. Re-saving with `useObjectStreams: false` and compact content can shave payload without quality loss, locally without uploading to a server that might keep your document.
This tool is part of the DevStackIO platform — a collection of free online developer tools from DevStackIO. Browse more free developer resources on DevStackIO.
Anyone needing to email or upload a PDF that is slightly too large, and who wants a private, no-upload optimization before trying heavier image recompression.
Drop a PDF (10MB). The tool shows page count and original size.
Pick quality (low/medium/high — currently re-save only, UI for future image recompression).
Click Compress — the tool copies pages to a new PDFDocument and saves with optimized streams.
Download the compressed PDF from the green card showing saved bytes and ratio.
Input: 10-page PDF 5.0MB → Output: 4.6MB (saved 400KB, 8% reduction) via object stream optimization.Input: 1-page PDF with many fonts → Output: similar size if already optimized; ratio near 0% is expected.Is the PDF uploaded? No
compression is pdf-lib in your browser. Files never leave your device.
Does it recompress images? Not yet
currently structural optimization only. Image recompression is on the roadmap.
Will it preserve text? Yes
pages are copied vector-for-vector, not rasterized.
Authoritative specifications, standards, and in-depth reading for PDF Compressor.
Click or drop a PDF to compress
PDF only · 10MB max · 100% local — re-saved with object streams disabled
Merge multiple PDFs in order. Use when combining; for splitting use pdf-splitter. Input: PDFs ≤10MB. Returns merged PDF. 100% client-side, files never leave browser.
Split PDF by pages or ranges. Use when extracting; for combining use pdf-merger. Input: PDF ≤10MB. Returns split PDFs. 100% client-side, files never leave browser.
Convert JPG/PNG/WebP images to PDF. Use when archiving scans; for PDF to images use pdf-to-jpg. Input: images ≤10MB. Returns PDF. 100% client-side, files never leave browser.
Export PDF pages as JPG/PNG images. Use when extracting images; for images to PDF use image-to-pdf. Input: PDF ≤10MB. Returns JPGs. 100% client-side, files never leave browser.
Compress JPEG, PNG, and WebP images in your browser. Reduce file size without visible quality loss.
Resize images by width/height or percent. Use when dimensions must change; for smaller files use image-compressor. Input: image ≤10MB. Returns resized PNG/JPEG/WebP. 100% client-side, files never leave browser.
Generate favicons (16/32/180 PNG + ICO) from one image. Use for site icons; for compression use image-compressor. Input: image ≤10MB. Returns favicon set + HTML. 100% client-side, files never leave browser.
Minify SVG by stripping metadata and whitespace. Use for smaller vectors; for raster use image-compressor. Input: SVG ≤10MB. Returns optimized SVG. 100% client-side, files never leave browser.