RevealTheme logo

WebP Converter

Convert an image to WebP, or convert any image to PNG, entirely in your browser using the HTML canvas. WebP typically lands 25-35% smaller than a comparable JPG.

How to use this tool

  1. 1

    Pick a direction from the dropdown: 'Convert to WebP' or 'Convert from WebP to PNG'.

  2. 2

    Click the file picker and choose an image (any format your browser can decode: JPG, PNG, GIF, WebP, etc.).

  3. 3

    Wait a moment while the image is drawn to a canvas and re-encoded; a preview appears below.

  4. 4

    Click Download to save the converted file, which is renamed with the matching .webp or .png extension.

What does this WebP converter actually do?

This tool loads your image into an HTMLImageElement, draws it onto a <canvas> at its native dimensions, then calls canvas.toDataURL(type, 0.9) to re-encode it. Choosing 'Convert to WebP' requests image/webp; the other option requests image/png. Because it goes through the canvas, the output is a fresh re-encode, not a remux: the conversion is always lossy when targeting WebP (quality is fixed at 0.9), and all metadata such as EXIF, ICC color profiles, and orientation tags are dropped. The PNG path is lossless but the 0.9 quality argument is simply ignored, as PNG has no quality knob. WebP itself is an image format from Google that supports both lossy and lossless compression plus alpha transparency, usually producing smaller files than JPG or PNG at similar visual quality. One important caveat: WebP encoding here depends entirely on your browser's canvas support. Chrome, Edge, and Firefox encode WebP from canvas; older Safari versions silently fall back to PNG even though the file keeps a .webp name. For batch jobs, lossless WebP, or precise quality and metadata control, use a dedicated encoder like cwebp or Squoosh instead.

Common use cases

  • Shrinking a hero JPG to WebP before uploading it to a landing page to cut page weight.

  • Quickly checking how much smaller a specific photo gets as WebP versus its original.

  • Converting a WebP someone sent you into a PNG so it opens in an editor that lacks WebP support.

  • Producing a WebP thumbnail for a blog post without installing command-line tools.

  • Flattening an image to PNG when you need a universally accepted format for a slide deck or document.

  • Doing a one-off conversion on a privacy-sensitive image that you do not want uploaded to an online service.

Frequently asked questions

Are my images uploaded anywhere?
No. Everything runs locally in your browser using the canvas API. The file never leaves your device and nothing is sent to a server.
Is the WebP output lossless?
No. This tool re-encodes through the canvas at a fixed quality of 0.9, which is lossy WebP. If you need lossless WebP, use a dedicated encoder such as cwebp with the -lossless flag or the Squoosh app.
Why does my downloaded .webp file actually look like a PNG?
Some browsers, notably older Safari, do not support encoding WebP from a canvas. In that case canvas.toDataURL silently returns PNG data even though the file is named .webp. Use Chrome, Edge, or Firefox for reliable WebP output.
Does it keep EXIF data, color profiles, or orientation?
No. Drawing to a canvas and re-encoding strips all metadata, including EXIF, ICC color profiles, and orientation flags. An image relying on an EXIF rotation tag may appear rotated after conversion.
Can I control the compression quality?
Not in this tool. Quality is hard-coded to 0.9 for WebP, and the PNG path ignores quality entirely since PNG is lossless. For adjustable quality, use Squoosh or cwebp.
Can I convert many images at once?
No. The tool handles one file at a time. For batch conversion, a command-line tool like cwebp in a shell loop is a better fit.
What input formats can I use?
Any format your browser can decode as an image, which generally includes JPG, PNG, GIF, BMP, and WebP. The output is either WebP or PNG depending on the dropdown selection.

Related tools