Compress image to 200KB

Shrink a photo or image to 200KB or less for upload limits on forms, shops and communities.

"200 KB" allows up to 200 × 1,024 = 204,800 bytes. When a file already fits and is a JPG, PNG or WebP, it wins with a perfect score and comes back untouched — a 127,956-byte PNG texture stayed a lossless PNG. Larger files are re-encoded at the level's quality and searched down only if needed: the 791,555-byte NASA PNG became a 45,813-byte JPG. At full phone-camera resolution 200 KB is tight; about 1.2–2.7 megapixels fit at the quality levels measured here. Forms that count 200,000 bytes need 195.

Drop image files hereProcess many files at once
No upload · processed on this device

200 KB: lossless when possible, lossy when necessary

The candidate list always includes the dropped file itself when it fits the target and is a format Auto can write. It scores 1.0, so it beats every lossy re-encode, and a PNG under 200 KB stays pixel-exact. Only files above 204,800 bytes are actually compressed.

The budget is 1,638,400 bits. On the test photo, 0.62 bits per pixel scored 0.96 (WebP) and 1.40 bits per pixel scored 0.98 (JPG). Divided into the budget that is 2.66 or 1.17 megapixels — about 1882 × 1411 or 1249 × 937 at 4:3. A 12.2-megapixel phone photo would get 0.13 bits per pixel, far below both, so expect a very low quality or "Target size not reached" unless the dimensions go down.

204,800 bytes
200 × 1,024, the preset's exact ceiling.
Original as a candidate
A dropped JPG, PNG or WebP that already fits competes with a score of 1.0.
Bits per pixel
Size in bits ÷ pixel count; used here only as a rough guide.

200 KB on three real files (measured)

Balanced level, Auto format, Chromium 153, 2026-09-28.

Target 200 KB = 204,800 bytes

bricks_Color.png  256 x 256   127,956 bytes  ->  original PNG kept (lossless)
astronaut.jpg     512 x 512    75,758 bytes  ->  original JPG kept
astronaut.png     512 x 512   791,555 bytes  ->  JPG q0.80   45,813 bytes  SSIM 0.9785
                              (lossless PNG re-encode: 575,694 bytes, too big)

4032 x 3024 photo: 1,638,400 bits / 12,192,768 px = 0.13 bits per pixel

For the brick texture a lossy WebP of 14,214 bytes also existed, but under a 200 KB limit the exact original scores higher and is kept.

Entering the right limit

The form saysTarget size to enterLargest file you get
200 KB, counted as 1,024 bytes200 (preset)204,800 bytes
200 KB, counted as 1,000 bytes195199,680 bytes
200 KB, keep the phone photo usable200 + Max width about 1,800Fewer pixels, higher quality
200 KB, JPG only200 + Output format JPGTransparency filled with the JPG background

Check the result

  • If the result line says the original was kept, the file already met the limit — check that its format is one the portal accepts.
  • Compare the exact byte count with the portal's limit.
  • Open the result at 100 % before uploading.

Troubleshooting

SymptomLikely causeHow to checkFix
The PNG came back unchanged, but the portal wants JPGThe PNG fitted, so it won with a perfect scoreResult line says original keptAdvanced → Output format → JPG
A phone photo misses the target0.13 bits per pixel is not reachable at full sizeWarning under the fileAllow smaller dimensions or set Max width to about 1,800 px
Rejected although it shows 200 KBThe portal counts 200,000 bytesExact bytes in file propertiesEnter 195
The photo looks worse than expected at 200 KBA large photo forced the quality search lowCompare with a version resized to 1,800 pxFewer pixels at higher quality often look better; resize first

Other ways to do it

OptionWhen it is the better choice
Compress to 500 KBThe portal allows it; a large photo keeps far more detail.
Resize then compressYou know the display size; unused pixels only cost bytes.
Compress a PDFThe document is a PDF, not an image.

What this page does not cover

  • A file that already fits is not re-encoded, so its format may not be the one the portal wants — set the output format.
  • Megapixel figures are estimates from one photo, not guarantees.

Versions and sources

Measured on 2026-09-28 in Playwright Chromium 153 by calling src/compression.js with the options src/task/compress.js passes for ?kb=200, on tests/fixtures/astronaut.png, its Pillow JPG (quality 92) and tests/fixtures/texture/bricks_Color.png (ambientCG CC0).

Official documentation used

Compress image to 200KB

Several quality and format candidates are encoded until one fits 200KB; each result is decoded again and compared (SSIM) so the best-looking one wins. You see the real file size before downloading.

Resolution is kept by default. Only if the target cannot be reached, opt in to shrinking the dimensions.

Your file is never uploaded — it is processed inside this browser.

Example

Original geometric sample · 96 × 64
Original geometric sample · 96 × 64
Processed sample · 96 × 64
Processed sample · 96 × 64

Example generated with this tool. ZIP tools show their preview; inspect the downloaded archive for every file.

Compress image

Set a size limit, then check the actual result.

How it works

  1. Open the source file
  2. Choose the processing mode and settings
  3. Run, inspect the result and download

Supported formats

PNG / JPG / WebP / AVIF / HEIC → PNG / JPG / WebP — Input decoding and output encoding depend on browser support. Animated inputs are rejected; select a still frame first.

What this tool does

Auto compares actual browser codec outputs using a sampled visual metric and target-size search. Alpha-aware format selection; optional dimension reduction.

Implementation and verified quality

advanced · browser codecs / proxy SSIM candidate search. Quality qualification is in progress. Pro/Flagship quality has not been established.

Before you export

Actual device memory, storage and codec support. Tested examples are evidence, not a guarantee for every file.

Frequently asked questions

What determines the supported size?

Actual device memory, storage and codec support. Tested examples are evidence, not a guarantee for every file.

Are my files uploaded?

This tool processes the files you open on your device without uploading them. Images you explicitly attach to community posts are uploaded separately. Optional engines and models are downloaded from third parties; those requests expose connection information such as your IP address.

Will my work be saved automatically?

No. Images and editing state stay in this tab; media output can use local temporary storage. Changing language preserves your work; reloading, closing the tab, or following a link to another page can clear it.