Smushify / Guides

How to get a photo under 100 KB, 200 KB or 1 MB for an upload form

Why your photo is too big, what to change first, and how to land just under any limit without trial and error.

Why upload forms set a size limit

Job applications, visa and passport services, school portals, marketplaces and forum profiles often refuse images over a set size: 100 KB, 200 KB, 500 KB or 1 MB are the common ones. They store a lot of images and want pages that load quickly, so they set a ceiling and leave the shrinking to you.

A photo straight from a phone is far over any of those limits. A 12-megapixel photo is usually 3 to 5 MB as a JPG; the one we tested for this guide was 4.9 MB, and 3024 by 4032 pixels. Getting it under 200 KB means making it about 25 times smaller, which sounds drastic but is easy to do without the result looking any worse on screen.

KB, KiB and why some photos still get rejected

There are two ways to count a kilobyte. Most sites mean 1,000 bytes, so 200 KB is 200,000 bytes, but some count 1,024 bytes, which makes 200 KB 204,800 bytes. If your file is 201,000 bytes it passes one kind of form and fails the other.

The safe rule is to aim under the stricter number. Smushify's targets count 1 KB as 1,000 bytes, so a file that meets a 200 KB target is under 200,000 bytes and passes either way.

The three things that decide file size

Pixel dimensions come first. File size grows with the number of pixels, so halving the width cuts the pixel count to a quarter. Most forms show your photo small, and a 1280-pixel-wide image is plenty for almost all of them.

Quality comes second. JPG, WebP and AVIF throw away fine detail you are unlikely to notice, and the quality setting decides how much. Between about 60 and 85 the file shrinks a lot while the picture looks almost the same; much lower and edges start to look blocky.

Format comes third. AVIF and WebP hold the same detail in far fewer bytes than JPG. Many forms only accept JPG or PNG, though, so check what the form allows before choosing. Avoid PNG for photos: it is lossless and makes photos many times larger.

Hitting the limit in one step

Adjusting quality by hand and re-saving until the file squeezes under the limit is slow and usually overshoots, giving you a worse picture than you needed. Smushify has a target size instead: choose 100 KB, 200 KB, 500 KB or 1 MB, or type any number of KB, and it searches for the highest quality that fits. Only if even a low quality is too big does it reduce the width, stepping down through 1920, 1280, 800 and 400 pixels, so resolution is the last thing to go.

With a target set, the quality slider becomes the highest quality Smushify is allowed to use, and each card shows what it settled on, such as "Under 200 KB at quality 83, 1280 px wide". Here is what it chose for our 4.9 MB test photo, saved as JPG:

TargetWidth up to 1280 px (default)Width up to the original 3024 px
100 KB99.5 KB: quality 56, 1280 px99.5 KB: quality 56, 1280 px
200 KB196 KB: quality 83, 1280 px192 KB: quality 60, 1920 px
1 MB211 KB: quality 85, 1280 px977 KB: quality 77, 3024 px

Reading the results

With the default 1280-pixel width, a 1 MB target is generous: the photo already fits at the top quality allowed, 85, so you get a 211 KB file rather than one padded out to 1 MB. Choose Original in the resize menu when you want the extra resolution, and the search uses the room it has: 977 KB at full size and quality 77.

Tight targets show the trade-off between width and quality. For 200 KB at original size, Smushify kept the photo larger, at 1920 pixels, and lowered the quality to 60, rather than shrinking it further. For 100 KB the 1920-pixel version did not fit even at low quality, so it stepped down to 1280 pixels at quality 56. A very small target such as 30 KB ends up much smaller, 400 pixels wide in our test, which suits thumbnails and avatars.

When the form accepts WebP or AVIF

If the form takes modern formats, use them: at the same 100 KB, JPG had to drop to 1280 pixels wide, WebP kept 1920 pixels, and AVIF kept the full 3024 by 4032 pixels at quality 45. That is far more detail for the same number of bytes, which matters for documents and ID photos where small text has to stay readable.

Many photos at once, and privacy

Use "Target size for all" to give every photo the same limit, then Convert All and download them as one ZIP. If a photo cannot reach the target even at the smallest width, Smushify still gives you its smallest version, says so on the card, and suggests a larger target or AVIF.

Upload forms are often for sensitive things: passports, IDs, proof of address. Smushify does all of this inside your browser, so the photos never leave your device, and it removes the location, camera and date details from every file it makes.

Open the compress to 200 KB converter

Try it: Compress to 200 KB

Open the Compress to 200 KB converter. It runs in your browser, so nothing is uploaded.

Frequently asked questions

Why is my photo still rejected after compressing it?

Check the format and the dimensions as well as the size. Many forms accept only JPG or PNG, and some, such as passport photo services, also require minimum or exact pixel dimensions. The card shows the width and height Smushify chose.

Will compressing a photo to 100 KB make it blurry?

At the size most forms display it, usually not. Smushify keeps the highest quality that fits and reduces the width only when it has to. Use Compare on the card to check faces and text before you upload.

Is 200 KB the same as 0.2 MB?

Yes, when 1 MB is counted as 1,000 KB, which is how Smushify counts. A file under 200 KB is also under 0.2 MB on sites that count 1,024 KB to the megabyte.

Are my files uploaded anywhere?

No. Smushify converts everything inside your browser using WebAssembly. Your files are never sent to a server, so it is safe for private photos and documents.

llms.txt: what Smushify does and how to automate it