Your files never leave your device. All processing happens locally in your browser.
How do I compress a PDF to send on WhatsApp without uploading the file?
Open Compress PDF for WhatsApp and drop your PDF onto the page — the target is already locked to 16 MB (16384 KB), the size that sends reliably as a WhatsApp document on any phone, so there is nothing to configure. The tool renders every page in your browser with Mozilla’s pdf.js, re-encodes the embedded images at a lower resolution and JPEG quality only as far as needed, and rebuilds the document with pdf-lib, aiming to land at or just under 16 MB. It produces three quality variants in one pass — Best Quality, Balanced and Smallest — marks each with a check when it clears 16 MB, then shows the before/after sizes and the exact percentage saved. Because most reports, contracts and slide decks are well under 16 MB to begin with, the compression is usually gentle and near-lossless, so the text stays selectable; only a large, image-heavy scan is squeezed hard, and if 16 MB genuinely cannot be reached the tool reports the smallest size it achieved rather than returning an unreadable file. To send it, open your WhatsApp chat, tap the paperclip and choose Document (not Photo & Video) — WhatsApp does not auto-compress PDFs, so a file under the cap goes through cleanly. Everything runs in the tab, so nothing is uploaded and your PDF never leaves your device; the result downloads as your file name with a -compressed.pdf suffix.
Target locked to 16 MB (16384 KB) — the size that sends reliably as a WhatsApp document on any phone, with no settings to pick
Three quality variants in one pass (Best Quality, Balanced, Smallest), each tagged with a check when it lands under 16 MB
Runs entirely in the browser with pdf.js and pdf-lib — no upload, no install, no account
Send it via the paperclip → Document (not Photo & Video); WhatsApp does not auto-compress PDFs, so a file under the cap goes through
Usually near-lossless because most documents start under 16 MB, so text stays selectable; only heavy scans are squeezed hard
What is
Compress PDF for WhatsApp
Compressing a PDF for WhatsApp means reducing the document’s file size until it is small enough to attach and send in a WhatsApp chat without the app refusing it — in practice, at or under 16 megabytes (16384 kilobytes), a conservative ceiling that sends reliably as a document across every WhatsApp client, including older app versions and slower mobile connections. Although recent WhatsApp releases raise the document limit far higher (100 MB, and up to 2 GB in the newest builds), 16 MB remains the safe, universal size: it uploads quickly on mobile data, works everywhere, and stays under the historic media ceiling. Crucially, WhatsApp does not auto-compress PDFs the way it crushes photos and videos — an oversized document is simply rejected — so shrinking it first is the reliable fix. Because most of a PDF’s weight is usually its images and scanned pages, a compressor reaches the target mainly by down-sampling those images to a lower resolution (DPI) and re-encoding them with lossy JPEG compression; stripping metadata and, when needed, converting pages to grayscale free up further bytes, while vector text and fonts stay untouched where possible. Since ordinary reports, contracts and slide decks are usually well under 16 MB already, the compression is often gentle and near-lossless. This tool locks the target to 16 MB, renders the pages with Mozilla’s pdf.js and rebuilds the file with pdf-lib entirely on your device, so no cloud service is involved and the PDF is never uploaded.
PDF Tools
Related terms
PDFWhatsApp16MBfile sizecompressionlossyDPIJPEG qualitydownsamplinggrayscalemetadatapdf.jspdf-libscanned PDFdocument attachmentsend as documentmobile datashare PDFreduce PDF size
Frequently Asked Questions
No. The PDF is read and compressed entirely in your browser, so the file never leaves your device — there is no upload, server or account.
Nothing is uploaded. When you drop or pick a PDF, the tool reads it locally with the browser’s File API, renders its pages in memory with the pdf.js engine (whose worker is bundled locally, not fetched from a CDN) and rebuilds the compressed file with the pdf-lib library on your own machine. There is no server, upload, database, API or tracking in the processing path, so the contracts, statements, scans and private paperwork people share over WhatsApp stay on your device; the tool works offline once cached, and closing the tab discards everything. The only optional network use anywhere on the site is consent-gated advertising, which never sees your files.
16 MB is the safe, universal size that sends as a WhatsApp document on any phone. Newer versions allow far larger documents (100 MB, even 2 GB), but 16 MB works everywhere and uploads fast.
WhatsApp’s document limit has grown over time — recent releases accept documents up to 100 MB, and the newest builds up to 2 GB — but the reliable, universal target is 16 MB. A PDF at or under 16 MB sends as a document on any WhatsApp client, including older app versions and slow mobile connections, and it uploads quickly without eating data. The important quirk is that WhatsApp does not automatically compress PDFs the way it compresses photos and videos: if a document is too large for the recipient’s app, WhatsApp simply refuses to send it rather than shrinking it for you. Compressing to 16 MB first sidesteps that wall. When you attach the file, use the paperclip and choose Document (not Photo & Video) so the PDF is sent at full quality as a file rather than treated as media.
Usually not noticeably. Most documents are already under 16 MB, so the squeeze is gentle and text stays selectable; only large, image-heavy scans lose visible detail.
Reaching a size target uses lossy compression — images are down-sampled to a lower DPI and re-encoded as JPEG — but 16 MB is a roomy target for everyday files, so the tool rarely has to push hard. An ordinary report, contract or slide deck typically stays under 16 MB with no visible change and keeps its text live and searchable. Three variants are generated in one pass (Best Quality, Balanced and Smallest) and the tool defaults to the best one that still fits. Only a very large, high-resolution scan running to tens of megabytes is compressed firmly enough that fine detail softens, and if the tool must rebuild those pages as JPEG images to hit 16 MB the text on them becomes part of the picture; even then the result stays legible, and you can pick the Best Quality variant for maximum fidelity or enable grayscale for a heavy scan.
Yes. It runs entirely in your browser on any modern phone, tablet or computer, and works offline once the page has been cached — no app or install needed.
The tool is 100% client-side, so it works in any modern browser on Android, iPhone, iPad, Windows, macOS or Linux without installing anything — ideal for shrinking a PDF on the same phone you will send it from. Because the compression happens on your own device with pdf.js and pdf-lib, it keeps working offline once the page has loaded once. One PDF is processed at a time and the practical size ceiling is your device’s memory, so a very large scan is bounded by available RAM; on a phone, extremely heavy files may compress more slowly, but because most documents are already near 16 MB the compression is quick and the file stays entirely on the device, ready to attach in WhatsApp as a Document.
Detailed Explanation
📖How It Works
Compressing a PDF for WhatsApp — Entirely in the Browser
Compress PDF for WhatsApp shrinks a document to a fixed 16 megabyte target without uploading a single byte. The 16 MB target — the size that sends reliably as a WhatsApp document on any phone — is read from the page URL and locked, so there is nothing to choose: drop your PDF and the tool goes to work. It renders every page in the browser with Mozilla’s pdf.js, re-encodes the embedded images at a lower resolution and JPEG quality only as far as needed, and rebuilds the file with pdf-lib inside a Web Worker, aiming to land at or just under 16 MB. Three quality variants are produced in a single pass — Best Quality, Balanced and Smallest — each tagged with a check when it clears the cap, alongside the original versus new size and the exact percentage saved. Because most reports, contracts and slide decks are already under 16 MB, the compression is usually gentle and near-lossless: the document keeps its text selectable and scans stay crisp. Only a very large, image-heavy scan is squeezed hard, and if 16 MB is genuinely out of reach the tool reports the smallest size it achieved rather than producing an unreadable file. Everything runs on your device, so the PDF never leaves the tab.
Targets a 16 MB ceiling read from the URL and locked — the size that sends reliably as a WhatsApp document on any phone
Renders pages with pdf.js and rebuilds with pdf-lib in a Web Worker — no upload
Three variants (Best / Balanced / Smallest) with live sizes and a target-met check
Usually near-lossless because most documents start under 16 MB, so text stays selectable
📋Use Cases
Sending the Compressed PDF on WhatsApp
WhatsApp is one of the most common ways people share paperwork — invoices, tickets, contracts, forms, class notes — but it handles documents differently from photos. Photos and videos are auto-compressed and previewed inline; PDFs are not. WhatsApp does not shrink an oversized PDF for you: if a document is too large for the recipient’s app it simply refuses to send it, so compressing first is the reliable fix. To send the result, open your chat, tap the paperclip (attach) icon and choose Document — not Photo & Video — then pick the compressed file; sending it as a Document keeps the PDF at full quality as a file rather than treating it as media. The 16 MB target is deliberately conservative: recent WhatsApp releases accept documents far larger (100 MB, and up to 2 GB in the newest builds), but 16 MB works on every client, including older app versions and slow mobile connections, and it uploads quickly without burning through data. For a tighter cap elsewhere — an email limit or a portal — the sibling presets (10 MB, 5 MB, 2 MB, 1 MB and smaller KB targets, or the dedicated Compress PDF for Email preset) are one click away.
WhatsApp does not auto-compress PDFs — an oversized document is simply refused, so shrink it first
Attach via the paperclip → Document (not Photo & Video) to send the PDF at full quality
16 MB is the safe universal size; newer WhatsApp builds allow 100 MB and up to 2 GB documents
Sibling presets cover 10 MB, 5 MB and smaller for email or portal caps
🔧Technical Details
How the 16 MB Target Is Reached
When the page loads at /compress-pdf-for-whatsapp, a URL parser (getPdfPresetFromPath) matches the named WhatsApp preset, fixes the target at 16384 KB (16 MB) and shows a locked-target banner (“Target: 16 MB”) instead of the usual preset grid. On drop, the PDF is read into an ArrayBuffer with the File API and pdf.js (pdfjs-dist) renders a first-page thumbnail and the page count, its worker bundled with the app locally rather than fetched from a CDN. Smart Compress hands the buffer and options { targetKB: 16384, grayscale, removeMetadata } to the smartCompressPDF routine (src/lib/workerClient.ts), which pursues two strategies and keeps whichever yields the smaller file that still meets 16 MB: it re-encodes the PDF’s embedded images at reduced JPEG quality and scale, and, when a target needs it, rasterises whole pages by having pdf.js paint each page onto an HTML canvas at a chosen DPI, encoding the canvas as JPEG and assembling a fresh PDF from those images with pdf-lib. Because 16 MB is a roomy ceiling for everyday documents, the sweep of DPI and JPEG quality usually stops early or is skipped — the Best variant frequently lands under the cap with no visible loss and most files keep their text live, so it is kept as the default. Three configurations run in one pass — Best Quality (highest DPI and JPEG quality), Balanced, and Smallest — and metadata is stripped by default. Each variant is measured, tagged when it lands under 16 MB, and the chosen one downloads from a local Blob with a -compressed.pdf suffix.
getPdfPresetFromPath resolves the named WhatsApp preset and locks the target at 16384 KB
pdf.js (pdfjs-dist) reads the page count and renders the thumbnail; its worker is bundled locally, not from a CDN
smartCompressPDF re-encodes images and, when needed, rasterises pages via canvas, rebuilding with pdf-lib
Three variants generated and measured in one pass; the chosen file downloads from a local Blob
⚠️Limitations
Honest Limitations
Whether 16 MB is reachable depends on the content, but for everyday documents the target is generous: an ordinary report, form, invoice or slide deck sits under 16 MB with room to spare and stays crisp, and a file already under 16 MB needs no real compression at all. Only a very large, photo-heavy file — a long, high-resolution scan running to tens of megabytes — has a physical floor, and past a point the tool stops at the smallest legible size it can produce and surfaces a warning naming that figure rather than returning junk. The savings come from lossy compression, so there is a genuine trade-off when the tool must rebuild pages as JPEG images to hit the target: the text on those pages becomes part of the picture and no longer selectable or searchable. At 16 MB, though, that aggressive step is rarely needed, so most documents keep their text live; for a stubborn scan, enabling grayscale, removing spare pages or splitting the document first usually gets you under the cap. Note too that this is the reliable universal size, not the absolute WhatsApp maximum — newer app versions accept much larger documents, so if both you and the recipient are on a recent build a bigger file may still send. Everything runs in browser memory, so a very large or high-page-count PDF is bounded by your device’s RAM, and the tool compresses one PDF at a time rather than a batch. The file must be openable by pdf.js and pdf-lib — a password-protected or corrupt document reports a clear, auto-dismissing error instead of a broken result.
Everyday documents reach 16 MB with room to spare; a file already under 16 MB needs no real compression
Only a huge photo-heavy scan may bottom out above 16 MB, and the smallest achieved size is reported with a warning
16 MB is the reliable universal size, not the maximum — newer WhatsApp builds accept far larger documents
In-browser processing bounded by device RAM; one PDF at a time; password-protected or corrupt files report a clear error
🔒Privacy & Security
Privacy: Your PDF Never Leaves the Tab
The documents people share over WhatsApp are often the sensitive kind — invoices, contracts, signed forms, scanned IDs, medical or financial paperwork — and this tool is built so none of it leaves your machine. The file is read with the browser File API, rendered entirely in memory with pdf.js (whose worker is bundled locally, so no third-party CDN is contacted), and the compressed document is rebuilt with pdf-lib inside a Web Worker on your own device. There is no server, upload, database, logging, API or CDN anywhere in the processing path, and the finished PDF is generated locally and downloaded straight from a Blob. The tool works offline once the page has been cached, and closing the tab discards every byte. There is no login and no telemetry, and the only optional network use anywhere on the site is consent-gated advertising, which never sees your files.
PDF read, rendered and rebuilt entirely in the browser; nothing uploaded
No server, upload, database, API or CDN in the processing path; pdf.js worker bundled locally
Compressed PDF built on-device in a Web Worker and downloaded from a local Blob; works offline once cached
No login or telemetry; closing the tab discards everything
Compress PDF for WhatsApp — target, quality and limits
Capability
Support
Notes
Target size
Locked at 16 MB (16384 KB)
The named WhatsApp preset; a banner replaces the preset grid so there is nothing to configure
Quality variants
Best, Balanced, Smallest
Three generated in one pass; each tagged with a check when it lands at or under 16 MB
Method
Image re-encode + page rasterise
pdf.js renders pages, images are down-sampled and JPEG-re-encoded, and pdf-lib rebuilds the file
Fidelity
Roomy for everyday files, so usually near-lossless
Most documents meet 16 MB without rasterising pages, keeping text selectable; only heavy scans are squeezed hard
How to send
Paperclip → Document (not Photo & Video)
WhatsApp does not auto-compress PDFs; a file under the cap sends at full quality. 16 MB is the safe universal size (newer builds allow 100 MB–2 GB)
Privacy & scale
In-browser, bounded by RAM
Compressed with pdf-lib in a Web Worker on-device, one PDF at a time; 100% client-side, no upload
Compress PDF for WhatsApp locks the target at 16 MB / 16384 KB (the named WhatsApp preset) and rebuilds the document in the browser: pdf.js renders the pages, images are down-sampled and JPEG-re-encoded, and pdf-lib assembles the result inside a Web Worker, producing three variants (Best, Balanced, Smallest) each marked when it clears 16 MB. Because 16 MB is roomy for everyday documents, the compression is usually near-lossless, so scans keep detail and most files meet the cap without rasterising pages, keeping text selectable; ordinary files reach it easily, while a huge photo-heavy scan stops at the smallest legible size with a warning. Reaching the target is lossy, so any rasterised pages lose selectable text. WhatsApp does not auto-compress PDFs — an oversized document is simply refused — so shrink it first and send it via the paperclip → Document (not Photo & Video) to keep full quality. 16 MB is the reliable universal size that sends on any client; newer builds accept larger documents (100 MB up to 2 GB). Everything runs on-device; nothing is uploaded.