How to reduce a pdf's file size using lossless compression
- Step 1Open the lossless compressor — Load PDF Compress (Lossless). It takes one PDF at a time and produces one optimised PDF.
- Step 2Note the current size — Drop the file; the header shows its name, byte size, and page count. Record the starting size so you can quantify the reduction afterward.
- Step 3Let the rebuild run — There is no settings panel for this tool — it auto-runs on load. It copies all pages into a new document, clears Producer/Creator metadata, and re-saves with compressed object streams.
- Step 4Compare before/after sizes — The result panel shows the rebuilt PDF. Set it against the original size from the header. Heavily-edited spec packages and merged briefs usually show the biggest drop.
- Step 5Verify the linework at zoom — Open the output and zoom to 400-800% on a critical detail — a dimension, a hatch, a fine clause. Because no pixels or vectors were re-encoded, it matches the original exactly.
- Step 6Download and file it — Save the smaller PDF. It is a standard, fully-compatible file that opens in Acrobat, Bluebeam, Preview, and browser viewers.
Why lossless is the right call for technical and legal PDFs
Each content type and how the lossless rebuild treats it. The guarantee: visible content is never re-encoded.
| Content in your PDF | How lossless treats it | Risk to fidelity |
|---|---|---|
| Vector linework (CAD exports, schematics) | Copied as vectors — not flattened or rasterised | None |
| Small text / dimension callouts | Copied as text objects; stays crisp and selectable | None |
| Embedded photos / detail crops | Copied byte-for-byte; never downsampled | None |
| Redundant / orphaned objects from edits | Dropped during the page-copy rebuild | None — file just gets smaller |
| Cross-reference table | Rewritten as compressed object streams | None |
Expected reduction for technical & legal sources
Approximate. The deciding factor is how much dead structure the file carries, not its subject matter. Raster-dominated files barely move because lossless can't re-encode images.
| Source | Typical lossless reduction | Where the savings come from | If it isn't enough |
|---|---|---|---|
| Vector drawing exported from CAD | 5-20% | Object packing + metadata; linework is already compact | Font subsetter if title-block fonts are fully embedded |
| Merged spec / submittal package | 20-40% | Merging leaves duplicate and orphaned objects the rebuild prunes | Was already optimal — this is the lossless ceiling |
| Long legal brief (text + exhibits) | 10-30% | Repeated edits and exhibit insertion accumulate dead objects | Compress exhibit scans separately with the lossy tool |
| Scanned exhibit / record (image-only) | 0-10% | Bytes are in the pixels; lossless never re-encodes them | Lossy compress for image-heavy files |
| Already-optimised PDF | 0-5% | Uses object streams already; nothing to reclaim | Accept it or switch to lossy if image-heavy |
Cookbook
Before/after on the kinds of documents where pixel fidelity is non-negotiable. Numbers are illustrative; the tool reports the exact figures.
A 22 MB merged submittal package
Assembled by merging dozens of vendor PDFs, the package carried duplicate fonts and orphaned objects from each source. The page-copy rebuild prunes them with no change to any drawing.
Input: submittal-package.pdf 22.4 MB, 180 pages Output: submittal-package.pdf 14.1 MB, 180 pages Result: ~37% smaller; every drawing and stamp byte-identical
A single CAD-exported sheet that barely moves
One clean vector sheet has almost no slack — the linework is already compact and there are no dead objects.
Input: E-101-electrical.pdf 1.6 MB, 1 page Output: E-101-electrical.pdf 1.5 MB, 1 page Result: ~6% — expected; vector sheets are near their lossless floor
A 140-page brief edited across weeks
Incremental saves during drafting appended new objects and orphaned the old ones. The rebuild discards the leftovers; clause text stays fully selectable for citation.
Input: appellate-brief-final.pdf 9.8 MB, 140 pages Output: appellate-brief-final.pdf 6.3 MB, 140 pages Result: ~36% smaller; OCR/selectable text preserved
A scanned exhibit that needs the other tool
An image-only exhibit barely shrinks losslessly. The honest fix is the lossy compressor, applied only to the exhibit, not the whole brief.
Input: exhibit-C-scan.pdf 15 MB, 8 pages (image-only) Lossless output: 14.3 MB (~5%) → For real reduction use /pdf-tools/pdf-compress-lossy on the exhibit
Confirming the dimensions didn't move
On technical drawings the proof is at high zoom: the lossless output must show identical pixels and vectors and keep text selectable.
1. Open original + output at 600% on a dimension string 2. Pixels and line weights match exactly 3. Click the dimension text → it selects (still real text) Confirmed: geometry and annotations preserved
Edge cases and what actually happens
Scanned exhibits / records barely shrink
By designLossless never re-encodes image data, so a scan-only exhibit stays close to its original size. That's the guarantee working, not a bug. Compress image-heavy exhibits separately with lossy compress, keeping the text/vector portions of the package on the lossless tool.
A clean single-sheet drawing shows minimal reduction
ExpectedA freshly exported CAD sheet has little redundant structure to remove, so the percentage drop is small. There is nothing to tune — the file is already near its lossless minimum. The big wins are on merged or repeatedly-edited multi-page packages.
The PDF is encrypted or permission-locked
Loaded with ignoreEncryptionThe engine opens encrypted files via ignoreEncryption: true, but the rebuilt output is written without re-applying the original encryption or permissions. If a controlled-document workflow requires the file to stay locked, remove protection with Remove Password, compress, then re-apply restrictions afterward.
The drawing set carries a digital signature
Signature invalidatedCompressing rewrites the file's bytes, which breaks the hash a digital signature covers — the signature will fail validation. For signed/sealed engineering or legal documents, compress before sealing. Check status with Verify Signature; apply a new signature with Digital Signature.
Spec package exceeds your tier's size limit
BlockedPDF size caps by plan: Free 2 MB, Pro 50 MB, Pro+Media 500 MB, Developer 2 GB. Large submittal packages routinely exceed the lower tiers and are blocked with an upgrade prompt. Split with Split by Range and compress per-section, or upgrade.
Document exceeds your tier's page limit
BlockedPage caps: Free 50, Pro 500, Pro+Media 2,000, Developer 10,000. A long brief or full drawing set over the cap won't process. Break it into volumes with Split by Range first.
Output isn't smaller (or is marginally larger)
PossibleOn a file with no dead structure, object-stream overhead can net out flat. The pages are still preserved exactly. If the file is image-heavy that's the cue for the lossy tool; if it's already lean text/vector content, it was simply at its minimum.
Corrupt or truncated PDF won't load
ErrorIf pdf-lib can't parse the document (a damaged download or broken xref), the page-copy rebuild can't run. Repair the structure first with Repair PDF, then compress the repaired file.
Producer string blanked in an archival pipeline
Producer/Creator clearedThe tool empties the Producer and Creator fields on every run. Most other metadata copied with the pages survives, but pipelines that key on a specific Producer value should expect it empty. For deliberate metadata handling use the Metadata Scrubber.
Expecting font stripping to drive the reduction
Not this toolLossless here does not subset or strip fonts — embedded title-block or brief fonts are copied as-is. If a large embedded font family is the bloat, the Font Subsetter trims each font to the glyphs actually used.
Frequently asked questions
Will lossless compression alter my drawings or text in any way?
No. Vector linework stays vector, embedded raster detail is copied byte-for-byte, and text remains real selectable text. The tool copies every page into a new document and re-saves with compressed object streams — it never re-encodes or downsamples content. The reduction is purely structural, so a dimension, hatch, or clause looks identical at any zoom.
How much smaller will an engineering or legal PDF get?
Usually 10-40% on packages that were merged or edited repeatedly, because the rebuild discards orphaned objects and packs the cross-reference data. A clean single CAD sheet may drop only a few percent, and an image-only scanned exhibit barely moves because lossless can't touch image pixels. The result panel reports your exact figure.
Why did my merged submittal shrink so much more than a single sheet?
Merging PDFs leaves behind duplicate fonts and objects each source file referenced. When this tool copies the pages into a fresh document, those unreferenced objects are dropped — so heavily-merged or multiply-edited files have the most slack to reclaim. A single freshly-exported sheet has little dead structure and shrinks only slightly.
Is the text still selectable for citation and extraction afterward?
Yes. Lossless preserves the original text objects, so you can still select, copy, search, and cite clauses, and extract callouts with a tool like PDF to Text. This is the key reason to choose lossless over lossy for briefs and specs — the lossy tool flattens pages to images and loses selectable text.
Can I trust it for documents that must not change?
Yes — that's the design intent. To prove it, open the original and the output side by side at high zoom on a critical detail; the pixels and vectors match exactly, and the text still selects. Nothing in the visible content is re-encoded. The only deliberate change is clearing the Producer/Creator metadata fields.
What if I need a bigger reduction than lossless gives?
If the bulk is image data, use lossy compress, which re-encodes pages as JPEGs and can hit a target size — at the cost of selectable text and some softening, so apply it only to scanned exhibits, not your vector drawings or text. If the bulk is fully-embedded fonts, run the Font Subsetter.
Does it work on encrypted or permission-restricted files?
It can open them — the engine loads with encryption ignored — but the rebuilt output is not re-encrypted and does not carry the original permission flags. If your controlled-document process requires the file to stay locked, remove the password, compress, then re-apply protection. Don't assume the restrictions survive the rebuild.
Are there any options to configure?
No. The lossless compressor auto-runs the moment a valid PDF loads, with one fixed rebuild and no sliders, modes, or presets. If you need to control quality, a size target, fonts, or PDF version, those live on the lossy compressor, font subsetter, and version converter respectively.
What are the size and page limits?
By plan: Free 2 MB / 50 pages, Pro 50 MB / 500 pages, Pro+Media 500 MB / 2,000 pages, Developer 2 GB / 10,000 pages. Files over your tier's limit are blocked with an upgrade prompt. Large spec packages and long drawing sets often exceed the lower tiers, so split them first with Split by Range if needed.
Is anything uploaded to a server?
No. Everything runs in your browser with pdf-lib, so confidential drawings, calcs, and case files never leave your device. Only an anonymous usage counter is recorded server-side if you're signed in — never document content. This keeps the tool usable inside firms with strict data-handling rules.
Will the output open in Bluebeam, Acrobat, and our DMS?
Yes. The result is a standard PDF using compressed object streams (supported since PDF 1.5), which Acrobat, Bluebeam Revu, Preview, and document-management systems all read normally. If a legacy system needs an older PDF version specifically, run the Version Converter afterward.
Can I batch this across a project folder automatically?
Yes, via the @jadapps/runner. Fetch the schema with GET /api/v1/tools/pdf-compress-lossless, pair the runner once, then POST each PDF to 127.0.0.1:9789/v1/tools/pdf-compress-lossless/run. Processing happens locally on your machine, so nothing leaves your network — convenient for shrinking an archive of project deliverables before handover.
Privacy first
All PDF processing runs locally in your browser using PDF-lib and pdf.js. No file is ever uploaded — only metadata counters are saved for signed-in dashboard stats.