WebP is a modern image format developed by Google to shrink file sizes dramatically — especially for web use — while preserving as much visual quality as possible. It supports both lossy and lossless compression, and in many cases, can outperform JPG and PNG in terms of file size.

But if you've ever saved an image as WebP in GIMP or another editor and noticed fingerpainting artifacts, color bands, or blurred details, you're not alone.

To understand why, we need to look at how WebP actually compresses images.


🔍 How WebP Compression Works

WebP is based on the same underlying technology as Google’s VP8 video codec. It treats your image like a single video frame — and compresses it using block-based prediction.

At a high level:

  1. The image is divided into 16×16 pixel macroblocks
  2. Each block is encoded using:
    • Intra-block prediction (guessing pixels based on neighboring areas)
    • Discrete Cosine Transform (DCT) (similar to JPEG, for frequency encoding)
    • Quantization (removing fine detail based on a quality level)
  3. Redundant data is removed using entropy coding and stored compactly

✅ Pros

  • Very efficient at compressing large, simple, or smooth areas
  • Better than JPEG at preserving edges and fine detail at mid-quality levels
  • Supports alpha transparency (unlike JPG)
  • Can be either lossy or lossless

⚠️ Cons

  • Becomes very lossy and “muddy” at low quality settings
  • Not all encoders are equal (GIMP’s WebP export often performs worse than cwebp)
  • Slower to encode than JPG or PNG, especially at higher settings

🎨 Why Do WebP Files Look “Fingerpainted” at Low Quality?

You’re seeing a classic result of aggressive block quantization:

  • WebP uses macroblocks — 16×16 pixel chunks
  • At high quality (80–100%), the encoder retains most frequency and prediction detail
  • Around 50–60% quality, block boundaries become more noticeable
  • Below 50%, especially 40% and under, the encoder starts:
    • Merging blocks with similar tone
    • Dropping fine detail
    • Smoothing gradients into blobs

This is what causes:

  • Skin smoothing
  • Detail loss in grass, fabric, or hair
  • Color bands instead of smooth gradients
  • Blocky "tiles" around hard edges

The GIMP export tends to exaggerate this effect, possibly due to:

  • Outdated or simplified encoder settings
  • Reduced dithering or fewer prediction modes enabled
  • A quality curve that drops sharply below 50, unlike cwebp, which drops more gradually

🛠️ Lossy vs Lossless WebP

FeatureLossy WebPLossless WebP
CompressionPredictive + DCTPrediction + LZ77 + Huffman
Quality setting0–100Not applicable
Alpha supportYesYes
Typical usePhotos, webIcons, graphics

Lossless WebP is surprisingly good — it uses advanced entropy coding and can outperform PNG on many images (especially flat graphics). But it's slower to encode and decode.


🔧 Tips for Better WebP Compression

Use CaseSuggested Settings
Web photographyQuality 75–85 (visually lossless, much smaller than JPG)
Archival (lossy)Quality 90+, or don’t use WebP at all
Line art, iconsUse lossless WebP instead of PNG
Gradients, skiesAvoid quality < 60 or banding will be visible

📸 Avoid re-saving the same WebP repeatedly — like JPG, it’s a lossy format and quality loss is cumulative.


🧪 Comparing Export Tools

Not all WebP encoders are equal. Here's how some common tools behave:

ToolNotes
GIMPOften over-compresses below 75%, limited control
Photoshop (with plugin)Better, but still basic
ImageMagickUses libwebp — good results, CLI control
cwebp (Google CLI)Best control and quality-to-size ratio
Squoosh.appGoogle’s browser encoder — excellent visual feedback

💡 Real-World Advice

  • Use WebP for final exports, not in-progress edits
  • If you're exporting for web use, run some tests at quality 80–85 and compare to JPG
  • If you see smearing or artifacts below quality 60 — it’s not just you. That’s WebP doing its job (aggressively)

🧠 Summary

WebP is a powerful image format that often beats JPG and PNG — but like any tool, it has tradeoffs. Its block-based compression means you can save a lot of space, but go too far and you’ll start to see what you called “fingerpainting.”

Understanding how WebP works — and using the right encoder — lets you get the benefits without sacrificing quality.

Next time you export from GIMP and get a blurry mess at quality 49% — now you know why. And now you can fix it.