Skip to main content
PPDF123

Make a PDF Smaller Than 500 KB

Compress PDF to 500 KB repacks a PDF with qpdf and lowers image quality level by level until the file fits under 500 KB. 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.

500 KB is a common limit for forms, learning-system uploads and ticket attachments. It is a comfortable target for a few scanned pages or a brochure with moderate photos, and a stretch for a long scan.

The target field is already filled with 0.488 MB. In this tool 1 MB is 1,048,576 bytes, so 0.488 MB sits just under 500 KB. 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.

The tool tries gentle levels first and only goes stronger when the file still does not fit, so a file that needs little shrinking keeps most of its image quality. Whatever the level, text, fonts, links, page count and page size are untouched.

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 304.1 KB with a 500 KB target. Text and vector documents hardly change: a 15-page research paper went from 2.11 MB to 1.75 MB, the smallest it could make. 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 500 KB: measured results

DocumentPagesOriginalResultUnder 500 KB?
Attention Is All You Need (arXiv 1706.03762) (CC BY 4.0)152.11 MB1.75 MBNo
IRS Form 1040 (Public domain, US government)2215.1 KB192.9 KBAlready under
Expedition 71 Crew Poster Brochure (NASA) (Public domain, NASA)27.21 MB453.2 KBYes
Album Or. 27.399, page 1 (Leiden University Libraries) (CC BY 4.0)1475.9 KB475.7 KBAlready under
Album Or. 27.399, pages 1-5 (Leiden University Libraries) (CC BY 4.0)51.41 MB343.9 KBYes
Album Or. 27.399 (Leiden University Libraries) (CC BY 4.0)3211.43 MB304.1 KBYes
Field letter (Internet Archive scan) (Public domain)382.23 MB2.22 MBNo

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 0.488 MB (500 KB)
  • 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

  • Upload a scanned application pack to a portal limited to 500 KB
  • Attach a photo-heavy brochure to a support ticket
  • Shrink a slide export before posting it to a course site

How do I compress a PDF to 500 KB?

  1. Upload the PDF that is over the limit.
  2. Leave the target size at 0.488 MB, or change it if the limit is different.
  3. Click Process and download the result.
  4. Check the file size against 500 KB 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 500 KB?
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.
Will my images look much worse at 500 KB?
Only as much as needed. The tool stops at the first level that fits, so a file that is close to the limit stays close to the default quality (JPEG 75), while one far above it goes through 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.pdf

Also 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

Skill

Claude Code, Codex, Cursor and other AI agents can run Compress for you with this skill: /skills/pdf123-compress.md

All agent skills

Files are used only for this processing job and deleted automatically afterward.