PNG to WebP Converter

Turn PNG screenshots and exports into WebP without uploading them anywhere. Up to 5 images per batch.

Target Format
png ➔ webp
80%
Up to 5 images per batch

How to use

01

Drop in up to five PNGs

Drag files onto the panel or tap it to open the file picker. Anything over 25 MB or wider than 8192 pixels is rejected before it reaches the encoder.

Tip: Dropping a sixth file does not silently discard it. The batch is refused so you always know what was skipped.
02

Set the quality you can live with

The slider runs from 60 to 100 and defaults to 80. Push it up for detailed artwork, drag it down for large background images where nobody will look closely.

Tip: Above 90 the file size climbs much faster than the visible quality does. The slider warns you when you cross that line.
03

Process and take the ZIP

Every converted file is bundled into a single archive and handed to your downloads folder. Original filenames are kept, only the extension changes.

Tip: Convert one representative image first and check it at full size before committing a whole folder to a quality setting.

Key Features

Alpha channel survives intact

WebP carries a full 8-bit alpha channel in both its lossy and lossless modes, so rounded corners, soft shadows and cut-out product shots come through without the fringing you get from formats that only support a single transparent colour.

Nothing leaves the browser

PNG, JPEG and WebP encoding all run locally through the canvas encoder. There is no upload step, no temporary file on a server, and the tool keeps working after you disconnect from the network.

Encoding runs off the main thread

Work is handed to a Web Worker with OffscreenCanvas, so scrolling and clicking stay smooth while a batch encodes. Browsers without OffscreenCanvas fall back to main-thread processing and the page tells you it has done so.

Five files per batch, on purpose

Each PNG is fully decoded into memory before re-encoding. Capping the batch at five keeps peak memory inside what a typical laptop or phone can handle instead of letting the browser kill the tab mid-run.

Real format validation

Files are checked by reading their leading magic bytes, not by trusting the extension. A .png that is actually a renamed JPEG is caught at the door rather than producing a confusing failure later.

One archive, original names

Output is zipped in the browser with JSZip and named after the source files, so a folder of forty assets can be converted in eight batches and dropped straight back into place.

Frequently Asked Questions

Will my transparent backgrounds still be transparent?+
Yes. WebP supports an 8-bit alpha channel, so a PNG with a soft shadow or a feathered cut-out converts without a visible halo. This is the main reason WebP replaced PNG for interface assets rather than JPEG doing it.
Why only five images at a time?+
Decoding a PNG means expanding it to raw pixels: a 4000 by 3000 image is roughly 48 MB in memory regardless of how small the file on disk is. Five of those, plus the encoder output buffers, is already close to what a phone browser will tolerate.

If you have a large folder, run it in batches of five. Each batch produces its own ZIP and the tool never holds more than one batch at a time.

Is WebP safe to use in production yet?+
Yes, and has been for years. Chrome, Firefox and Edge have supported it for well over a decade, and Safari joined in version 14 back in 2020. If you still need to cover genuinely ancient clients, serve WebP from a picture element with a PNG fallback.
Does converting to WebP lose quality?+
At the default quality of 80, almost never in a way you will notice on screen. WebP is lossy at that setting, so if you need byte-for-byte fidelity for something like a diagram with one-pixel text or an image going into a print workflow, keep the PNG.
What happens to files that are too large?+
Anything over 25 MB or with a side longer than 8192 pixels is rejected before processing starts, and the panel tells you which file failed. Those limits exist because the browser has to hold the decoded bitmap in memory.
Can I convert JPEGs here too?+
You can drop JPEGs and they will convert, but re-encoding a lossy JPEG as lossy WebP means compressing already-compressed data and the savings are much smaller. This page is tuned for PNG sources, which is where the dramatic size drop comes from.

Format Comparison

Feature SpecificationPNG to WebP conversionAlternative
Typical size, 1600px UI screenshot120 to 180 KB2 to 3 MB
Re-saving repeatedlyLossy mode degrades a little each timeLossless, nothing accumulates
Compression modelLossy or lossless, your choiceLossless only
Best suited toScreenshots, photos, UI exportsLine art, icons, exact-pixel work
Browser supportEvery current browserEvery browser ever made

Technical Overview & Specifications

Deep dive into PNG to WebP conversion architecture and processing.

Show Details

Platform Overview

PNG has one job and it does it perfectly: it gives you back exactly the pixels you put in. That guarantee is also why your assets folder is enormous. PNG compresses with DEFLATE, the same general-purpose algorithm behind ZIP, and DEFLATE has no idea it is looking at a photograph. It cannot discard the subtle noise in a gradient or the colour detail your eye will never resolve, because discarding anything would break the lossless promise. So a 1600-pixel-wide product screenshot with a soft drop shadow and a blurred backdrop lands somewhere around 2.4 MB. Run the same image through WebP at quality 80 and you will typically see 120 to 180 KB. That is not a rounding error, it is the difference between a page that loads before the user notices and one that does not.

This converter takes up to five PNG files at a time and re-encodes each one to WebP inside your browser. The decode and encode both happen in a Web Worker using the canvas encoder your browser already ships, so the tab stays responsive and the files never touch a network. Transparency comes through intact, which is the part people usually worry about. The cap of five is deliberate rather than arbitrary: each image is fully decompressed into memory before it is re-encoded, and a handful of large PNGs will happily consume a gigabyte or more of RAM between them. Five keeps the tool predictable on a mid-range laptop and on phones, where the browser will simply kill the tab if you push past its allowance.

What happens between drop and download

When a file lands, the first thing that runs is a magic byte check: the first few bytes are read and matched against the known PNG, JPEG and WebP signatures. Extensions are ignored because they lie. The file then gets an object URL and is loaded into an Image element purely to read its intrinsic dimensions, which is how the 8192 pixel guard is enforced. Only after both checks pass does the file enter the batch. From there the job is queued into a small worker pool that runs two encodes concurrently. Two is a compromise: more parallelism does not help much because canvas encoding is already using native code underneath, and it multiplies peak memory by the number of workers.

Inside the worker, the PNG is decoded to an OffscreenCanvas, any crop or scale settings are applied to the bitmap, and the canvas is asked for a WebP blob at the quality you selected. The quality value is passed through a mapping function rather than used raw, which is what produces the flattening above 90, where WebP starts spending a lot of bytes on detail that is not visually recoverable. The resulting blobs are collected and streamed into a ZIP with JSZip, then handed to the browser as a download. Object URLs are revoked as soon as they are consumed, because leaking them is the fastest way to make a long session run the tab out of memory.