DEV Community

toolzip
toolzip

Posted on

Why Chrome Saves Images as .webp — And How to Convert Them Without Uploading

You right-clicked an image in Chrome, hit "Save image as", and ended up with a .webp file. Now it won't open in Windows Photos, won't send via WhatsApp, and won't upload to half the platforms you need it for.

Here's what's happening and how to fix it — without uploading your files to a third-party server.

Why Chrome Saves Images as WebP

WebP is an image format developed by Google in 2010. At equivalent visual quality, WebP files are roughly 25–35% smaller than JPEG and up to 50% smaller than PNG. For websites serving millions of images, that's significant bandwidth savings.

So Google, YouTube, most e-commerce sites, and a large portion of the web now serve images in WebP format. When you save an image from Chrome, you get whatever format the server originally sent — which is increasingly WebP.

The format itself is technically superior to JPEG in most metrics:

Format Typical size (vs JPEG) Transparency Lossless Animation
JPEG 100% (baseline)
PNG 150–300%
WebP 65–75%

The problem is compatibility outside the browser.

Where WebP Breaks Down

Browser support for WebP is essentially universal as of 2026. Chrome, Firefox, Edge, and Safari 16+ all handle it natively.

The issue is everywhere else:

Windows: The built-in Photos app doesn't support WebP without a codec extension from the Microsoft Store. Most Windows users won't have it installed.

Messaging apps: WhatsApp, Telegram, KakaoTalk — most messaging platforms don't accept WebP for image sending. You can send it as a file, but not as a photo.

Social platforms: Instagram and many others reject WebP uploads or silently convert them in ways that can affect quality.

Image editors: Older versions of Photoshop, GIMP, and most non-web-focused editors don't support WebP natively.

Email: WebP in email bodies is largely unsupported. Inline images in WebP format often appear broken.

Print services: Virtually no print shop accepts WebP.

Converting Without a Server

Most online converters solve this by uploading your file to their infrastructure, converting it server-side, and letting you download the result. That's a reasonable trade-off for generic images — but not for screenshots of private documents, personal photos, or anything confidential.

Browser-based conversion using the Canvas API is a cleaner approach:

function webpToJpg(file, quality = 0.92) {
  return new Promise((resolve) => {
    const img = new Image();
    const url = URL.createObjectURL(file);

    img.onload = () => {
      const canvas = document.createElement("canvas");
      canvas.width = img.naturalWidth;
      canvas.height = img.naturalHeight;

      const ctx = canvas.getContext("2d");
      // Fill white background (JPEG doesn't support transparency)
      ctx.fillStyle = "#ffffff";
      ctx.fillRect(0, 0, canvas.width, canvas.height);
      ctx.drawImage(img, 0, 0);

      canvas.toBlob((blob) => {
        URL.revokeObjectURL(url);
        resolve(blob);
      }, "image/jpeg", quality);
    };

    img.src = url;
  });
}
Enter fullscreen mode Exit fullscreen mode

The key detail: JPEG doesn't support transparency. If the original WebP has a transparent background, you need to fill it before converting — otherwise the transparent areas become black. The white fill above handles this.

For PNG output (which preserves transparency):

canvas.toBlob((blob) => {
  resolve(blob);
}, "image/png");
// No quality parameter needed — PNG is lossless
Enter fullscreen mode Exit fullscreen mode

Handling Multiple Files

For batch conversion, process files sequentially to avoid memory issues with large images:

async function convertBatch(files, format = "image/jpeg", quality = 0.92) {
  const results = [];

  for (const file of files) {
    const blob = await convertFile(file, format, quality);
    results.push({
      name: file.name.replace(/\.webp$/i, format === "image/jpeg" ? ".jpg" : ".png"),
      blob,
      originalSize: file.size,
      convertedSize: blob.size,
    });
  }

  return results;
}
Enter fullscreen mode Exit fullscreen mode

When to Use JPG vs PNG Output

Use JPG when:

  • The image is a photograph
  • File size matters
  • The original has no transparency
  • You're sharing via messaging or email

Use PNG when:

  • The original WebP has a transparent background
  • You need lossless quality
  • You're using the image in a design context

A quick way to check for transparency: if the image has a checkered pattern in the background when viewed in a browser, it has transparency and should be converted to PNG.

Try It

ToolZip's WebP converter handles this entirely in your browser — no upload, no server, no account required. Supports batch conversion and outputs both JPG and PNG.

toolzip.app/tools/webp-to-jpg


ToolZip — 48 free browser-based tools. Everything runs client-side.
toolzip.app

Top comments (0)