Why Is My Compressed Image Larger Than the Original?
Re-encoding can add bytes. krzen.com always writes a new file, so an already compressed JPEG saved again at quality 100 grows. A flat PNG screenshot converted to JPEG also grows, because JPEG is built for photographs. Lower the quality, keep PNG for screenshots, or keep the original.
Two measured cases
A test image was built with Pillow 11.3.0 and encoded twice. These are the real file sizes in bytes:
screenshot.png 4233
screenshot-q80.jpg 27200
screenshot-q100.jpg 33237
photo.jpg 850445 (quality 85)
photo-req100.jpg 2389030 (quality 100)
The screenshot is a flat white page with a few solid blocks. PNG stores it in 4,233 bytes. The same pixels as JPEG need 27,200 bytes at quality 80, which is 6.4 times the PNG size. JPEG spends bytes on a photograph model, and a flat image gains nothing from that model.
The photo was already a JPEG at quality 85. Encoding it again at quality 100 produced 2,389,030 bytes, which is 2.8 times the original. A higher quality setting asks for more precision than the source holds. The extra bytes describe detail that the first encode already removed.
Why krzen.com writes a new file
The compressor decodes the image into a canvas and encodes the canvas again. Every output is a new encode. A new encode at a quality above the source quality can be larger than the input.
What to do
- Keep the original when it is already small. Do not compress a file that is already compressed.
- Keep PNG for screenshots, diagrams, and flat graphics. Convert photographs to WebP or AVIF.
- Lower the quality. On the compressor, 70 to 85 is the useful range for photos.
- Resize the image. Width in pixels controls file size more than quality does.
The image optimization calculator estimates the saving before you compress anything.