Image Format Converter

Drop PNG, JPG, WebP, AVIF, GIF or HEIC. Pick JPEG, PNG, WebP or AVIF if this browser can write it. JPEG holes get a colour. One ZIP for a batch. The files stay in this tab.

Drop JPEG, PNG, WebP, AVIF, GIF or HEIC

Up to 100 photos, 40 MB each. Nothing is uploaded.

Output

Outputs are whatever canvas.toBlob can write here. AVIF is off when the encoder is missing.

#ffffff

JPEG has no see-through pixels. Holes get this colour instead of going black by default.

The files stay in this tab

Most converters ask you to upload, then meter the day. This page reads the bytes in the tab, draws them on a canvas, and writes JPEG, PNG, WebP, or AVIF if this browser can encode that type. HEIC uses the same decoder as HEIC to JPG. Safari can read HEIC natively. Chrome and Firefox load a decoder module the first time a HEIC file is in the drop. You will see that load. The module does not send the photo anywhere.

The sample is a 640 by 400 PNG with a hole on the right, drawn here. Convert it to JPEG and watch the hole fill with the colour in the picker. That is the PNG-to-JPG case that usually goes black without asking. Replace the sample with your own files. Nothing is saved until you download.

What this tab can read and write

Inputs are sniffed from magic bytes, not from the filename. A PNG named shot.jpg is still a PNG. The list under the drop says so. GIF is accepted as an input. AVIF is accepted as an input when createImageBitmap can open it, which current Chrome and Safari can. Outputs are JPEG, PNG, WebP, and AVIF only when canvas.toBlob actually returns that type. If this browser cannot write AVIF, that radio is disabled. There is no silent server fallback.

Quality applies to JPEG, WebP and AVIF. PNG is lossless, so the slider does nothing there. Safari stops a canvas at 16,777,216 pixels. A huge phone photo is scaled to that cap first. A run takes 100 files, 40 MB each. Those numbers are the same caps as Resize Image and Compress Image to Exact KB.

Holes, frames, and colour profiles

Preview sits on a checkerboard so a hole is visible before you flatten it. JPEG always flattens. PNG and WebP keep alpha. AVIF keeps alpha when the encoder does. An animated GIF, APNG, or animated WebP writes the first frame. The copy under the preview says that before you download, so you are not surprised that the loop is gone.

Canvas encode does not copy an ICC profile. If the original carried one, the download is this tab's pixels in sRGB as the browser drew them. That is a real loss. The page names it instead of pretending the colours are bit-identical.

A ZIP for a folder

One file downloads under its own name with the new suffix. Two or more become converted-N-jpg.zip, or webp, or png, matching the output you picked. Stop cancels the run. Progress is N of M. Convert again after you change quality or the fill colour. The previous blobs are dropped.

Format, quality and the background colour sit in this browser under softery.image-format-converter.settings. Copy settings link puts those knobs on the URL. The photo never goes in the URL. That is the share for a JPEG at quality 80 with a white fill, not for someone's passport scan.

Common questions

Does this page upload my photos?

No. Decode and encode run in this tab. After the page has loaded, conversion does not need a network. Mixpanel and Google Analytics load with Softery.io. They see that someone opened the tool, which setting moved, and whether a download happened. They do not get the photos.

Can the download be larger than the original?

Yes. PNG is lossless. A JPEG, WebP or AVIF rewritten as PNG often grows. This page warns before you convert when that is likely, and again after encode if the byte count went up. JPEG quality is a slider, not a promise that the file will shrink.

What happens to transparency, GIF frames, and colour profiles?

JPEG has no see-through pixels. Holes are filled with the background colour you pick. PNG and WebP keep a see-through layer. An animated GIF or APNG writes the first frame only. Canvas encode drops an ICC colour profile. The download is this tab's pixels.

Where do the settings live?

Format, quality and the background colour sit in this browser under softery.image-format-converter.settings. The photos are not stored. Copy settings link puts those knobs on the URL and never the file. Clear the site data, or hit Clear settings, and the knobs go back to JPEG at quality 92 with a white fill.

Nearby tools

An iPhone HEIC you only want as a JPEG, with EXIF kept, belongs on HEIC to JPG. A file that has to land under a typed KB cap belongs on Compress Image to Exact KB. Exact pixels, a percent, or centimetres at a DPI belong on Resize Image. All of the free tools run the useful bit here.

Looking for something else?