Friday, November 6, 2026 · Asia/KarachiFree tools · No signup · Runs in your browser

WebP to JPG

bars-32x16.webp is the same 32 by 16 red-and-blue picture stored as WebP. The JPEG at quality 80 is 0.8 KB and 32 by 16. Quality 60 is the same size on this flat image. The decoder is the browser's WebP decoder. The encoder is the canvas JPEG encoder. No server sees the file.

New

The pixel size stays the same. Animated WebP keeps the frame this browser decodes, usually the first.

How to use

  1. Open bars-32x16.webp.
  2. Compare quality 80 with quality 60.
  3. Do not feed a HEIC file to this control.

Formula / how it works

bars-32x16.webp is the same 32 by 16 red-and-blue picture stored as WebP. The JPEG at quality 80 is 0.8 KB and 32 by 16. Quality 60 is the same size on this flat image. The decoder is the browser's WebP decoder. The encoder is the canvas JPEG encoder. No server sees the file.

Animated WebP is the limit to say out loud. createImageBitmap returns the frame the browser decodes, which is the first frame in current Chrome. Later frames are not walked, and this page does not claim to flatten an animation. If you have a multi-frame WebP, export the frame you want in an editor first, or accept the first frame.

A transparent WebP pixel is painted white, same as a transparent PNG, because the destination is JPEG. An opaque WebP is only recompressed. The flat bars barely change size. A photo WebP at a high quality setting can grow when it becomes a JPEG at quality 80, or shrink at quality 50. Read the size line. It is the blob the button produced.

The pixel size is preserved. There is no max-width box on this page. The image compressor on the site is the tool that also scales down to a maximum box and can emit WebP. This page is the narrow conversion: WebP in, JPEG out, same width and height.

Safari, Chrome and Firefox in current versions decode the WebP sample used here. A very new WebP feature the browser cannot decode will fail with a message that names the file, rather than a silent empty image. HEIC is not WebP and is not accepted by this control. Quality 80 and quality 60 both landed on 0.8 KB here because the bars are two flat colours, not a noisy photograph.

Chrome decoded bars-32x16.webp without a plugin. The canvas then encoded JPEG. If a future WebP feature fails that decode, the button stops with the file name in the error instead of writing a blank JPEG. That is a better failure than a white rectangle that looks like a successful convert. Quality 80 and quality 60 matched on this icon. They will not match on a photograph of a street, and the kilobyte line is how you tell. Keep the WebP when the JPEG grows. The bars file is not a reason to promise that every WebP shrinks. Measure the photograph you actually have, and keep the WebP when the JPEG line shows a larger file.

The same white-background rule is on PNG to JPG. Image compressor is the page that also scales to a max box.

Worked examples

WebP bars at quality 80

Inputs: w2j-f: bars-32x16.webp | w2j-q: 80

On this page, take bars-32x16.webp, then 80 and press Convert. Expect the first decoded WebP frame, not an animation.

Result: WEBP to JPEG: 32×16. If a pixel was transparent, it is now white. 0.8 KB

WebP bars at quality 60

Inputs: w2j-f: bars-32x16.webp | w2j-q: 60

On this page, take bars-32x16.webp, then 60 and press Convert. Expect the first decoded WebP frame, not an animation.

Result: WEBP to JPEG: 32×16. If a pixel was transparent, it is now white. 0.8 KB

Use cases

  • Turning the WebP bars into a JPEG an old mail form will accept.
  • Accepting that an animation keeps only the frame Chrome decodes.
  • Painting a transparent WebP pixel white.
  • Stopping when the browser cannot decode a new WebP feature.

Tips & limitations

  • The bars are opaque, so the white-background sentence is a warning for the next file.
  • Animation frames after the first are not walked.
  • Pixel size stays 32 by 16.
  • A high-quality photo WebP can grow when it becomes a quality-80 JPEG.

FAQ

What frame does an animated WebP keep?

The frame createImageBitmap returns, which in current Chrome is the first. Later frames are not flattened.

Why mention white if these bars are opaque?

The next WebP might use alpha. JPEG would otherwise invent a colour. Here the colour is white.

Did quality 60 shrink the bars?

No. Both settings wrote 0.8 KB at 32 by 16 because the picture is two flat colours.

Is HEIC accepted?

No. This control is WebP only.

Who decodes the WebP?

The browser. There is no server decode.

Can the JPEG be larger than the WebP?

Yes for a photo that was already compressed hard. The size line is the measurement, not a promise.

The 0.8 KB WebP result is bars-32x16.webp. An animated WebP will not become a filmstrip here.