Job portals, university admissions, visa and government forms love a rule like "PDF, maximum 200 KB". Then you scan two pages on your phone, the file is 3.4 MB, and the upload button says no.
We build PDF tools at KovaPDF, and "compress to an exact size" is a request we see all the time. Here is what we learned about what makes a PDF big, what makes it small, and how to hit a size limit without wrecking the document.
What is actually taking up the space
Open almost any oversized PDF and the answer is the same: pictures.
- Text is tiny. A page of text is a few kilobytes, because it is stored as characters plus a font, not as an image.
- Fonts can add a bit, especially when a whole font is embedded instead of just the letters used, but it is rarely the main problem.
- Images are the problem. A scanned page is one big photo of the paper. A phone camera picture at 12 megapixels is millions of pixels per page, often at a resolution far beyond what anyone will ever look at.
So a size target is mostly a fight with the images. Everything else is rounding.
What does not help much
- Zipping the PDF. The images inside are already compressed, so a zip barely changes the size, and the form usually wants a .pdf anyway.
- "Print to PDF" of a scan. You get a new PDF wrapped around the same huge image.
- Turning everything into one low quality image. It hits the size, but the text is no longer text: nobody can search it or copy from it, and it often looks blurry when printed.
The approach that works: lower the image resolution step by step
What we do is lower the resolution of the pictures in steps, while leaving text and vector drawings exactly as they are:
150 DPI -> 110 DPI -> 72 DPI -> 50 DPI -> 36 DPI
After each step we check the size. The first result that fits the target wins, because that is the version with the least quality lost. There is no point sending a 36 DPI file when a 110 DPI one is already under the limit.
150 DPI is a good first step because it still prints and reads well. Most scans and photos come in at 300 DPI or more, so this step alone often takes a file from megabytes to a few hundred kilobytes. 72 DPI is roughly what a screen shows at normal zoom. Below that, small print in a scan starts to suffer, which is why it is the last resort and not the first move.
Form fields are kept through the whole process, so a fillable form stays fillable.
"200 KB" is not one number
Is 200 KB 200,000 bytes or 204,800 bytes? Different systems disagree. Some portals check 1 KB as 1,000 bytes and some as 1,024.
We count 1 KB as 1,000 bytes when aiming. A file under 200,000 bytes is also under 204,800 bytes, so it passes either way. If you write your own tool, aim at the smaller number. A file that is 201,000 bytes and gets rejected is the worst kind of bug report.
Sometimes it cannot be done, and that is fine to say
A very long document with no pictures may not get under a small limit no matter how hard you squeeze the images, because there are none to squeeze. When no step reaches the target, the honest answer is to give back the smallest version and say clearly that it is still over the limit. Pretending the target was met, or quietly turning the text into blurry images to force it, causes more trouble later than a clear message now.
What usually helps in that case:
- Split the file and upload the pages the form actually asks for.
- Remove pages nobody needs (blank backs of scanned pages are a classic).
- Rescan at a sensible setting: 150 DPI, grayscale for black and white documents. A grayscale scan is a fraction of the size of a colour one and reads just as well.
Quick checklist for anyone fighting an upload limit
- Find out what is big: if it is a scan or has photos, the images are the target.
- Lower image resolution first, keep the text as text.
- Stop at the first version that fits; do not go lower than you need.
- Aim below the limit counted in 1,000 byte kilobytes.
- If it still does not fit, split the file or rescan in grayscale at 150 DPI.
If you just want it done, our compress PDF to 200 KB tool does exactly the steps above and tells you the final size before you download. There are presets for other common limits too, from 50 KB to 10 MB.
Top comments (0)