Image Converter

Convert images between PNG, JPEG, WebP, GIF and BMP — PNG to JPG, JPG to PNG, BMP to GIF, GIF to PNG and every other pair. Drop several at once, set the output format and quality, resize if you need to, and download them one by one or together. Everything runs in your browser — nothing is uploaded.

Drop images here or click to browse

PNG, JPEG, WebP, GIF, BMP. HEIC and AVIF depend on your browser (see below).

No images loaded yet.

What you can do here

Pick a pair from the links under the tool (each has its own address, such as /image-converter?mode=png-to-bmp) or just choose the output in Convert to: the input format is detected from each file, so one batch can mix PNG, JPG, GIF, BMP and WebP.

Which format should the output be?

FormatCompressionTransparencyAnimationTypical use
PNGLosslessYes (8-bit alpha)No (APNG rarely used)Screenshots, logos, diagrams, UI assets, anything with text or flat colour
JPEGLossyNoNoPhotographs, camera images, large images where a small file matters more than perfect edges
WebPLossy or losslessYesYesWeb images — roughly 25–35% smaller than JPEG or PNG at similar quality; supported by all current browsers
GIFLossless, 256 colours1-bit (on/off)YesShort looping clips and simple low-colour graphics. Superseded by WebP and video for most uses
BMPNone (24-bit bitmap)NoNoLegacy Windows software, embedded displays, tools that need raw pixels. Large files
AVIFLossy or losslessYesYesSmallest files at a given quality, but slower to encode and not editable everywhere yet

This tool writes PNG, JPEG and WebP with the browser's own canvas encoder, and GIF and BMP with encoders built into this page, because browsers do not expose those two. AVIF output is not offered.

Converting to GIF and BMP

Which format for what

The re-encode caveat

Converting an image here means: decode it, paint the pixels onto an HTML canvas, and call canvas.toBlob() in the target format. That has two consequences worth knowing:

For a photo you want to keep at a specific file size, use the image compressor instead — it re-encodes to hit a target without changing the format.

Reading HEIC and AVIF

Whether the tool can open a HEIC or AVIF file depends entirely on the browser, because decoding happens through the same <img> pipeline the browser uses for web pages:

The box above this section reports what your current browser supports. If a file cannot be decoded it will show an error next to its name and be skipped.

Questions

Does converting PNG to JPG lose quality?

Yes, a little at every save — JPEG is lossy. At quality 90+ it is hard to see on photos, but text and flat-colour edges pick up halos. Output that stays PNG is lossless.

Can I convert JPG to PNG to restore quality?

No. You get a pixel-perfect copy of the JPEG including its current artefacts, usually at a much bigger file size. PNG cannot recover discarded detail.

What happens to transparency when I convert to JPG?

JPEG has no alpha, so transparent pixels are filled — white by default here, black if you turn the option off. Use PNG or WebP to keep transparency.

Can this open HEIC or AVIF?

Only if the browser decodes them: Safari for HEIC, current Chrome/Firefox/Safari for AVIF. The page tells you what yours supports.

Can I convert PNG or JPG to GIF, or GIF to PNG?

Yes. Choose GIF as the output; each image gets its own 256-colour palette, with optional dithering, and transparency is kept if you turn the white background off. For GIF to PNG, JPEG or BMP, drop the GIF and pick the output. Animated GIFs use their first frame.

Why is my BMP file so much bigger than the PNG or JPG?

BMP here is uncompressed 24-bit: 3 bytes per pixel plus a 54-byte header, so 1920 × 1080 is about 6 MB. Convert BMP to PNG for a lossless file that is typically 3–10× smaller, or to JPG for photos.

Are my images uploaded?

No. FileReader, canvas, and canvas.toBlob — all local. It works offline after the page loads.