Why Screenshot Text Gets Blurry: PNG vs JPEG Tested

Start with the screenshot you actually need to share

For a screenshot dominated by small text, a table or flat interface colors, start with PNG when the destination accepts it. PNG preserves the pixel values it receives. Ordinary JPEG discards information during compression, which can leave fringes or uneven edges around small lettering.

Check the upload rules first. A form may require JPEG, limit bytes, or restrict dimensions. The smallest file is useful only if the important text remains legible. PNG is not always larger, and a JPEG quality number is not a guarantee of a particular file size.

Our test: two source images, eight saved files

We generated an opaque text-and-flat-color card and a separate scene with gradients and seeded texture. Both are original 1,200 × 720 RGB images. Neither is an app screenshot or a camera photograph. The upload limit and error text on the test card are fictional test content.

Each source was saved directly as PNG, JPEG quality 90 with 4:2:0 subsampling, JPEG quality 90 with 4:4:4, and JPEG quality 75 with 4:2:0. We did not resize the image or make one JPEG from another. The comparison below includes the complete saved files.

The test card’s PNG was 39,953 bytes, versus 56,425 bytes for JPEG 90 / 4:2:0. Its PNG was also slightly smaller than the quality-75 JPEG. The textured source went the other way: PNG was 1,158,190 bytes, while JPEG 90 / 4:2:0 was 187,247 bytes. Those are results from these two samples, not average savings for screenshots or photographs.

SourceEncodingBytesExact original RGB pixels?
Text cardPNG39,953Yes
Text cardJPEG 90 / 4:2:056,425No
Text cardJPEG 90 / 4:4:472,335No
Text cardJPEG 75 / 4:2:040,527No
Textured scenePNG1,158,190Yes
Textured sceneJPEG 90 / 4:2:0187,247No
Textured sceneJPEG 90 / 4:4:4365,283No
Textured sceneJPEG 75 / 4:2:082,096No
Exact PNG and JPEG byte counts for two synthetic 1200 by 720 images, showing PNG smallest for the text card and JPEG smallest for the textured scene.
Original local measurements, with 1 kB equal to 1,000 bytes. All files have the same dimensions. The scene is synthetic, not a camera photograph.

Look at the same text, not just the file-size number

The next figure shows the same red text region from three actual saved files. Every crop uses the same coordinates and is enlarged exactly three times with nearest-neighbor sampling. That makes the source pixels easier to inspect without adding a smoothing filter.

In this sample, the 4:2:0 JPEG shows colored fringes around the lettering that the PNG does not add. The 4:4:4 JPEG changes the result but remains lossy and uses more bytes. In our complete text-card files it was 72,335 bytes. This is not a reason to assume every editor exposes these controls, or that 4:4:4 guarantees readable text.

Our decoded PNG arrays matched the generated originals exactly. The tested JPEG arrays did not. A pixel match is a useful integrity check, but a pixel-error value is not a human readability score. Read the actual small text at the size your recipient will see.

The same red text crop from PNG, JPEG quality 90 with 4:2:0, and JPEG quality 90 with 4:4:4, enlarged three times without smoothing.
Actual crops from the encoded files. Each uses source coordinates (58, 205) to (338, 257), enlarged 3× using nearest-neighbor sampling. This is an original synthetic test card, not a captured app screen.

A practical workflow before uploading

Use your image editor’s supported save or export operation and keep the original. The exact menus vary by application; this guide does not claim a particular editor was tested.

  1. Read the destination’s format, pixel and byte requirements. Record the limit rather than assuming that all websites use the same KB definition.
  2. Keep the original screenshot. If text and flat graphics dominate and PNG is accepted, make a PNG copy first.
  3. If the destination requires JPEG, export a separate JPEG directly from the best source. If quality controls are available, compare actual outputs rather than repeatedly overwriting the same JPEG.
  4. Reopen the saved file at 100% and inspect small numbers, colored text and fine lines. Measure its exact bytes and dimensions. Crop irrelevant areas or adjust settings only as needed.
  5. If the destination changes images, inspect the delivered result too. If no acceptable copy fits, use another supported sharing method instead of making the text unreadable.
Five checks: read upload rules, keep the source, export a separate copy, inspect text and exact bytes, and check the delivered image.
An original decision diagram. Menu names depend on your image editor. The workflow does not promise acceptance by a particular upload form.

Why saving a damaged JPEG as PNG does not fix it

Lossless storage preserves the pixels supplied to it; it does not reconstruct detail already removed. A PNG made from a previously compressed JPEG can faithfully preserve that JPEG’s artifacts. Return to the original screenshot when possible.

Likewise, PNG cannot undo a screenshot that was already resized too small before it was saved. Check the capture dimensions and the displayed size as well as the format. For a transparent source, remember that ordinary JPEG cannot retain an alpha channel; choose an accepted format that supports transparency or deliberately prepare the required background.

Reproduce the comparison and understand its limits

The experiment used Python 3.12.14, Pillow 12.3.0 and NumPy, with the texture seed fixed at 20261030. PNG used RGB, optimize=True and compress_level=9. JPEG used optimize=True and progressive=False, with the quality and subsampling combinations shown above. No EXIF or ICC metadata was added. The source generator and per-file SHA-256 records are retained with the test.

These options describe our encoder, not the settings of Paint, Photoshop or a messaging app. A different scene, font rasterizer, encoder or metadata payload can change the bytes. We did not test upload acceptance, OCR accuracy or any service’s recompression behavior.

If your image is rejected for its size

Format is only one of the checks. Use the separate guide below to distinguish pixel dimensions, bytes and aspect ratio before changing the image again.

Image Dimensions vs File Size: Fix a Rejected Upload

Sources and verification

Comments

Popular posts from this blog

Why Is My ZIP File Bigger? A Measured Test and Practical Fixes

Why Is My PDF So Large? Check Images Before Compressing

How to Save a Time-Blocking Schedule as a Searchable PDF