Skip to content

Image Format Converter

Converts between PNG, JPEG, WebP, AVIF, GIF, BMP and TIFF, one file or a whole folder at a time.

Converting an image is one line of code and three decisions: which format, at what quality, and what happens to the transparency the new format may not have. This page makes those three visible and refuses to pretend the fourth — whether your browser can actually write the format you asked for — is not a question.

🔒 Runs entirely in your browserconvertformatbatch
Convert to

Lossy with transparency, and usually 25–35% under a JPEG of the same visual quality. Encoded by the browser, so what you get depends on the browser.

Measuring…

Drop images to convert

PNG, JPEG, WebP, GIF, BMP or AVIF in — whatever your browser can decode.

How to use it

  1. Choose the target format

    WebP for the web at roughly a quarter less than JPEG for the same look, JPEG for photographs going somewhere old, PNG when the pixels must survive exactly.

  2. Set the quality against the live readout

    The line under the slider encodes a small test gradient at the current setting, so you can see the shape of the size curve without re-encoding your own forty files on every drag.

  3. Decide what fills the transparency

    Only for JPEG, which has no alpha channel. The default here is white because that is what the page behind the image almost certainly is; browsers default to black and the result looks broken.

  4. Drop the files

    Anything the browser can decode goes in — including GIF, BMP and AVIF — and every file is converted as it arrives rather than after a submit.

Common questions

Why did I get a PNG when I asked for WebP?

Because your browser has no WebP encoder. The specification says it must fall back to PNG rather than fail, and it does so without saying anything — so this page probes on load, warns you before you convert forty files, and names the result honestly instead of putting a .webp extension on a PNG.

Does converting JPEG to JPEG lose quality again?

Yes. The file is decoded to pixels and re-encoded, so the new quantisation is applied on top of the old one. Convert from the original whenever you still have it, and treat a re-encode as a one-way step.

Why is PNG here at all if it does not shrink photos?

Because it is the right answer for screenshots, logos and anything with hard edges, where JPEG rings visibly. The PNG written here goes through our own encoder, which searches a filter strategy per row and usually lands 10–30% under what a canvas produces.

Feed it from

Next

These accept what this tool produces, so the result can go straight in.