Reduce a PDF to 2 MB or Less
Compress PDF to 2 MB repacks a PDF with qpdf and lowers image quality level by level until the file fits within 2 MB. If it cannot, you get the smallest result reached.
Drag and drop files here, or click to choose
Accepts PDF · up to 500.0 MB per file · up to 20 files at once
You can also paste a file with Ctrl/Cmd+V, or from the clipboard menu.
A 2 MB cap is typical for applications that take several scanned pages: a visa or enrolment form with attachments, an expense report, a tender response. Most photo-heavy files of a dozen pages or fewer can reach it.
The target field is already filled with 2 MB. In this tool 1 MB is 1,048,576 bytes, so 2 MB sits just under 2 MB. The tool first repacks the file with qpdf, then re-encodes page images as JPEG through up to seven levels, from quality 75 and a 2000 px longest side down to quality 18 and 450 px, and stops at the first result that fits.
Because the target is generous, the tool usually stops at the first or second level, which keeps images sharper than a 1 MB or 500 KB target would. A file whose images are of a skipped type, such as 1-bit scans or CMYK, shrinks only through the qpdf step.
Measured on freely licensed documents, the result depends on what the pages hold. Photographed JPEG pages shrink: a 32-page album went from 11.43 MB to 1.69 MB with a 2 MB target. Text and vector documents hardly change: a 15-page research paper went from 2.11 MB to 1.75 MB. Scans stored as JPEG 2000 or JBIG2 images, as many archive scans are, are skipped: a 38-page archive scan went from 2.23 MB to 2.22 MB, the smallest it could make. The table below lists every document.
The target is a goal, not a guarantee. If even the strongest level does not fit, you get the smallest result it reached, and the page count, page size, text and fonts are never changed. Image-only scans stay images, and 1-bit, CMYK, indexed, masked and transparent images are skipped, so a scan stored that way barely shrinks.
Image re-encoding is lossy. Open a few pages of the result before you send it, and keep the original. If a portal enforces a hard limit that the file cannot reach, Split by Page Count sends it in parts.
What happens at 2 MB: measured results
| Document | Pages | Original | Result | Under 2 MB? |
|---|---|---|---|---|
| Attention Is All You Need (arXiv 1706.03762) (CC BY 4.0) | 15 | 2.11 MB | 1.75 MB | Yes |
| IRS Form 1040 (Public domain, US government) | 2 | 215.1 KB | 192.9 KB | Already under |
| Expedition 71 Crew Poster Brochure (NASA) (Public domain, NASA) | 2 | 7.21 MB | 773.4 KB | Yes |
| Album Or. 27.399, page 1 (Leiden University Libraries) (CC BY 4.0) | 1 | 475.9 KB | 475.7 KB | Already under |
| Album Or. 27.399, pages 1-5 (Leiden University Libraries) (CC BY 4.0) | 5 | 1.41 MB | 1.41 MB | Already under |
| Album Or. 27.399 (Leiden University Libraries) (CC BY 4.0) | 32 | 11.43 MB | 1.69 MB | Yes |
| Field letter (Internet Archive scan) (Public domain) | 38 | 2.23 MB | 2.22 MB | No |
Measured on 2026-10-09 with this service's release build on freely licensed PDFs. KB and MB are 1,024 and 1,048,576 bytes. "Already under" means the original fit, so only the qpdf step ran. "No" rows show the smallest result the tool reached.
Features
- Target size preset to 2 MB (2 MB)
- Seven image levels, JPEG quality 75 down to 18, longest side 2000 down to 450 px; stops at the first that fits
- Page count, page size, text, fonts and vector art stay unchanged
- Returns the smallest result reached if the target cannot be met
- Anonymous API at /api/v1/misc/compress-pdf with targetSizeMb
When to use this tool
- Submit a multi-page scanned application within a 2 MB limit
- Attach an expense report with receipt photos to an email
- Reduce a design proof before sharing it for review
How do I compress a PDF to 2 MB?
- Upload the PDF that is over the limit.
- Leave the target size at 2 MB, or change it if the limit is different.
- Click Process and download the result.
- Check the file size against 2 MB and open a few pages to judge image quality.
Limits and edge cases
- The target is a goal; the smallest result reached is returned
- Strong levels make photos visibly softer
- 1-bit scans, CMYK, indexed, masked and transparent images are skipped
- Does not subset fonts or convert color spaces
- Password-protected files need the password first
Privacy for this tool
Files are uploaded over HTTPS, processed in memory or a short-lived temporary directory on our servers, and deleted when your result is ready. We do not keep copies for later browsing, training, or advertising profiles. See the Privacy Policy for retention details and AdSense cookie disclosures.
Frequently asked questions
- Will every PDF end up under 2 MB?
- No. The tool lowers image quality level by level until the file fits, then returns the smallest result it reached. A file with little image content, or with image types that are skipped, can stay above the target.
- Why does a 2 MB target keep my images sharper?
- The tool stops at the first level that fits. With 2 MB the first levels often already fit, so images are only mildly re-encoded; a smaller target forces the stronger, softer levels.
- Does the text stay selectable?
- Yes. Text, fonts and vector art are never changed. Image-only scans remain images.
- What happens if my file is already under the limit?
- It comes back with only the qpdf optimization applied and the content unchanged.
- Can I use a different size?
- Yes. Type any value from 0.05 to 1024 MB in the target field; the preset only saves you the typing.
Last updated:
Call this from code
Every tool on this site is a plain REST endpoint - no account or API key needed for anonymous use. Built for AI agents and developers as much as for browsers.
curl -X POST "https://pdf123.xyz/api/v1/misc/compress-pdf" \
-F "[email protected]" \
-o output.pdfAlso available as an MCP tool for agent clients that speak Model Context Protocol (JSON-RPC 2.0 over POST /mcp). Full API reference
Use it from an AI agent
SkillClaude Code, Codex, Cursor and other AI agents can run Compress for you with this skill: /skills/pdf123-compress.md
Files are used only for this processing job and deleted automatically afterward.