How to get an image under an upload limit — without it looking bad
更新 約6分
このガイドは英語版のみ提供しています。
“Maximum file size: 2 MB.” Your photo is 8.4 MB. There are three levers you can pull, and pulling them in the right order is the difference between a clean result and a blotchy one.
The order that works
1. Dimensions. 2. Format. 3. Quality. In that order, every time.
The reason is that file size scales with the number of pixels, and pixel count scales with the square of the dimensions. Halving the width and height of an image removes 75% of its pixels. No quality slider can compete with that, and reducing the size of an image you were going to view small anyway costs you nothing visible.
Here is the same 12-megapixel phone photo (4032 × 3024, 8.4 MB HEIC) through each lever on its own:
| What we changed | Result |
|---|---|
| Nothing — JPEG at quality 95 | ~4.9 MB |
| Quality only — JPEG at 80 | ~1.6 MB |
| Dimensions only — 1600 px wide, quality 95 | ~1.1 MB |
| Dimensions + format + quality — 1600 px, WebP at 80 | ~180 KB |
Those numbers vary with the content of the photo — a picture of foliage compresses far worse than a portrait against a plain wall — but the ranking never changes. Resizing does the heavy lifting.
Step 1: how small can the dimensions go?
Ask what the image is actually for.
- A form upload, an ID photo, a document scan: whatever the form specifies, and no more. If it says 600 × 800, sending 4000 px wide only risks a rejection.
- A web page or an email body: 1600 px on the longest edge is plenty. Content images inside an article rarely display wider than 800 px, so 1600 covers high-density screens.
- A social post: see the ratio table in the sizes guide — 1080 px is the standard floor.
- A print: inches × 300. This is the one case where you should not shrink.
- An archive of your own photos: don’t resize at all. Keep originals; make a resized copy for sharing.
Step 2: pick the format for the content
Photographs and screenshots behave completely differently under compression.
- Photographs — continuous tone, no hard edges. Use JPEG for maximum compatibility, WebP to cut roughly 25–35% off the same perceived quality, AVIF to cut more still.
- Screenshots, diagrams, anything with text or flat colour — use PNG or lossless WebP. Lossy compression puts a halo of noise around every letter, and the “savings” are small because these images have few distinct colours to begin with. Lossless WebP is typically 20–30% smaller than the equivalent PNG.
- Anything needing transparency — PNG, or WebP/AVIF, which both support an alpha channel. JPEG does not, and will fill transparent areas with black.
Step 3: only now touch quality
For JPEG, quality 80–85 is the sweet spot for almost every photograph. Below 70 you start seeing blocking in skies and gradients. Above 90 the file grows quickly and almost nobody can tell the difference in a blind comparison.
WebP behaves similarly around 75–85. AVIF’s scale is not comparable — an AVIF at “50” often matches a JPEG at “80”, so if AVIF files come out bigger than you expected, you probably set the number too high.
The practical approach is to watch the estimated output size while you move the slider and stop at the first value that fits your limit. Do not start at 40 and work up.
Hitting specific limits
A 2 MB form: resize to what the form actually needs, export JPEG at 85. If you are still over, you are almost certainly still too large in dimensions — check them again before dropping quality further.
Gmail’s 25 MB total: the limit is on the whole message, so it is a batch problem. Twenty photos at 1600 px and quality 82 come to roughly 8–10 MB and will send without complaint. Twenty untouched originals will not. Resize the whole set in one pass and attach the copies.
A web page you care about: the honest target is under 200 KB per content image, WebP or AVIF, sized at 2× the display width and no more. If a page feels slow, images are the first place to look — they usually outweigh all the code on the page combined.
A messaging app: apps like KakaoTalk, WhatsApp and Line re-compress anything you send in a normal chat, often hard. Resizing before you send gives them less to mangle. If you need the original preserved, send it as a file/document attachment instead of as a photo.
What not to do
Do not re-save a JPEG repeatedly. Every JPEG save is a fresh lossy encode, and the damage accumulates — the “generation loss” that makes images passed around group chats look like they were photocopied. Always start from the original file, apply your changes in one pass, and export once.
Do not upscale to “improve quality”. Enlarging cannot invent detail that the sensor never recorded. It only makes the file bigger and the softness more visible.
Do not trust the format extension alone. A .png screenshot straight from a phone can be several megabytes; the same content as lossless WebP is a fraction of that with no visible change. Converting is often a bigger win than any slider.
Doing it to a whole folder
The steps above are the same for one file or two hundred, which is the entire argument for a batch tool: set the longest edge, pick the format and quality once, look at the estimated total, and export a ZIP. Everything runs on your own machine, so a 300-photo batch is limited by your CPU rather than by an upload queue — and nothing leaves the device on the way.