Convert PNG to WebP — Free, Browser-Based

Drop a PNG, get a WebP. Files never leave your browser — conversion runs locally via WebAssembly. No signup, no watermark, no upload limits beyond browser memory.

Your files never leave your browser
80

Drop PNG files here, or click to select

Up to 20 files, 50 MB each

Want to check whether your live website's images are properly sized?

Run a free scan →

Typical compression results

PNG-to-WebP savings depend heavily on the content type. PNG is lossless, so it's usually carrying way more bytes than the image actually needs — WebP at quality 80 is visually indistinguishable but dramatically smaller. Approximate results:

Content typeTypical PNG sizeWebP sizeSavings
Photograph (1920×1080)3–5 MB300–600 KB80–90%
Screenshot with text + UI800 KB–2 MB100–300 KB75–85%
Logo / icon (transparent)15–80 KB10–40 KB25–55%
Graphic with gradients200–500 KB40–120 KB75–80%
Pixel art / sharp edges10–50 KB8–35 KB10–30%
Hero photo (oversized PNG)5–10 MB400 KB–1 MB85–92%

The pattern: photographic content saves the most because PNG is the wrong format for photos in the first place. Pixel art and sharp-edged graphics save the least because PNG is already efficient there. The "wow, 88% savings" result usually means the original was the wrong format choice rather than that WebP is magic.

When should I use WebP?

WebP is the modern default for web images. It compresses 25–35% smaller than JPG at equivalent visual quality, supports transparency like PNG (which JPG can't), and is supported by every browser released in the past five years. For ~99% of web image use cases, WebP is the right format.

The cases where WebP is the wrong answer:

  • Print pipelines — most print software still expects PNG, JPG, or TIFF. Keep the source format.
  • Editing workflows — if the file is going back into Photoshop or Figma, WebP isn't universally supported in older versions of those tools.
  • Lossless archival — WebP supports lossless mode but it's less widely tooled than PNG. If the file is the source of truth, keep it as PNG.
  • Internet Explorer — IE never supported WebP and never will. If a meaningful share of your audience is still on IE, ship a PNG/JPG fallback via<picture>.

How this converter works

The PNG decoder and WebP encoder are WebAssembly builds of the standard libpng and libwebp libraries — the same libraries that power Photoshop's Save for Web, Squoosh, and most image-processing pipelines. Both run in a Web Worker on your device, so the main browser thread stays responsive while conversion runs.

We don't upload your files because we don't need to. Browser-based WASM is fast enough that a 5 MB PNG converts in under a second on most laptops. The only things our server sees are the page request and (with consent) anonymous analytics about how the conversion went — never the file contents.

Quality settings

The quality slider controls the WebP encoder's lossy quality setting (1–100, where higher is better quality at larger file size). Defaults and recommendations:

  • Quality 80 (default): visually indistinguishable from the original for most photographic content. The right choice for most uses.
  • Quality 90+: rarely worth it. File size jumps significantly with minimal visible improvement.
  • Quality 70–75: acceptable for hero images, backgrounds, and thumbnails where pixel-level fidelity doesn't matter.
  • Quality 60 or below: visible compression artifacts on most content. Only use for cases where file size dominates everything else.

Common mistakes

  • Converting screenshots at quality 100. Screenshots compress extremely well at quality 80–85 because their content (UI elements, anti-aliased text) doesn't reward higher quality. Going above 85 inflates file size with zero visible benefit.
  • Treating WebP as lossless by default. The quality slider controls lossy compression. If you genuinely need lossless (rare for the web — usually only for archival or design source files), keep the PNG. WebP supports lossless mode but this converter defaults to lossy because that's the right choice for ~99% of web use cases.
  • Converting low-resolution PNGs at quality 95+. A 400×400 thumbnail at quality 95 isn't meaningfully better than the same image at quality 80, but the file is roughly twice as big. Match quality to content size — small images tolerate (and benefit from) more aggressive compression.
  • Skipping the dimension check. If your PNG is 4000 pixels wide but your site renders it at 800 pixels, converting to WebP saves bytes — but downscaling first saves more. Resize before converting when the source is oversized.
  • Discarding the original PNG. Keep the source somewhere. WebP variants are derivatives; once the PNG is gone you can't re-encode at a different quality, can't go back to PNG without quality loss, and can't easily migrate to a future format like AVIF or JPEG XL.
  • Forgetting transparency edge cases. WebP supports transparency, but some legacy browsers (especially older email clients reading WebP rendered as image) handle it inconsistently. If the image is destined for email or older targets, double-check the rendering before committing.

Frequently Asked Questions

Is this PNG to WebP converter really free?

Yes. No signup, no watermark, no upload limits beyond a 50 MB per-file and 20-files-per-batch cap to keep your browser responsive. The conversion runs locally in your browser via WebAssembly — there's no server cost on our end, so we don't need to monetize the conversions themselves.

Are my files uploaded anywhere?

No. Your files never leave your browser. The PNG decoding and WebP encoding run entirely in a Web Worker on your device using WebAssembly versions of the standard libpng and libwebp libraries. We don't see your files, we don't store them, and we don't need a server. You can verify by opening browser dev tools and watching the Network tab during conversion — there are no upload requests.

How much smaller will my WebP files be than PNG?

Photographic content typically compresses 60–80% smaller as WebP than as PNG. Graphics with sharp edges and limited colors (logos, icons, screenshots) compress 25–50% smaller. Images with transparency get the same WebP advantages while preserving the alpha channel. The exact ratio depends on the image content and the quality setting.

What quality setting should I use?

Quality 80 is the default and what we recommend for most images — visually indistinguishable from quality 100 at roughly half the file size. Quality 70–75 is acceptable for hero images and decorative graphics where pixel-level fidelity is irrelevant. Quality 90+ is rarely worth it; the file size savings drop sharply above 85.

Does WebP support transparency?

Yes. WebP supports both lossy and lossless compression, and both support transparency (the alpha channel). Converting a transparent PNG to WebP preserves the transparency. This is one of the main advantages over JPEG, which has no alpha channel — WebP can replace both PNG and JPEG depending on quality settings.

Which browsers support WebP?

Every modern browser supports WebP — Chrome since 2010, Firefox since 2019, Safari since 2020 (macOS Big Sur), Edge since 2018, every Android browser, and every iOS browser since iOS 14. The roughly 1% of users on browsers without WebP support are typically on devices old enough that other compatibility issues are larger concerns. WebP is the safe modern default.

Why convert PNG to WebP at all?

Smaller file sizes load faster, which directly improves Core Web Vitals (LCP and overall page weight) and indirectly improves SEO rankings. WebP gives you JPG-like compression with PNG-like transparency support — for most use cases, it's the right format. The exception: when a project specifically requires PNG for compatibility (very old systems, certain print pipelines), keep PNG.

Is there a file size limit?

Per file: 50 MB. Per batch: 20 files at once. These are browser-memory limits, not server limits — converting a 100 MB PNG would risk crashing the page on a memory-constrained device. For larger files or bigger batches, run the conversion in multiple passes.

Related Resources

Last updated: