Convert images between any format
Convert between JPG, PNG, WebP, AVIF, GIF, BMP and SVG in your browser. Batch input, quality control and ZIP download, with no uploads.
- Runs in your browser
- Files are never uploaded
- Free, no account
The source format is detected from each file's contents, not its extension.
JPG has no alpha channel, so transparent pixels are painted with the colour below.
Metadata is stripped. Re-encoding rebuilds the file from raw pixels, so EXIF — GPS coordinates, camera model, serial number, capture time — and any XMP or IPTC block are dropped. Pixels are written in sRGB.
Nothing leaves this tab. The encoders are WebAssembly builds of libjpeg-turbo (MozJPEG), libpng/oxipng, libwebp and libavif running inside a worker on your machine.
How to convert an image to another format
- Drop any images onto the box above — JPG, PNG, WebP, AVIF, GIF, BMP or SVG, mixed together if you like.
- Choose the output format from the Convert to list. Every input format can be written out as JPG, PNG, WebP or AVIF.
- Adjust quality if the target is lossy, pick a background colour if the target is JPG, and set a raster size if you dropped in any SVGs.
- Review the per-file before and after sizes, then download each result or take the lot as a single ZIP.
The source format is read from each file's magic bytes rather than its extension, so a PNG that someone renamed to .jpg still converts correctly. Decoding and encoding both happen in a worker thread on your own machine using WebAssembly builds of MozJPEG, libpng, libwebp and libavif.
Which output format should you pick?
| Format | Compression | Transparency | Relative size (photo) | Best for |
|---|---|---|---|---|
| JPG | Lossy | No | 100% (baseline) | Maximum compatibility, photos, anything old software must open |
| PNG | Lossless | Yes | 500–900% | Screenshots, logos, line art, editing masters |
| WebP | Both | Yes | 65–75% | The web default — smaller than JPG, universally supported in browsers |
| AVIF | Both | Yes | 40–60% | Smallest files, when slow encoding and newer decoders are acceptable |
A short rule of thumb: WebP unless you have a reason otherwise. Choose JPG when something refuses to accept anything else, PNG when the pixels must be exact or the image needs an alpha channel, and AVIF when bandwidth is the thing you are optimising and you can serve a fallback.
Supported inputs
| Input | How it is decoded | Caveats |
|---|---|---|
| JPEG (.jpg, .jpeg) | Browser decoder, MozJPEG fallback | EXIF rotation is applied automatically |
| PNG (.png) | Browser decoder, libpng fallback | 16-bit PNGs are reduced to 8 bits per channel |
| WebP (.webp) | Browser decoder, libwebp fallback | Animated files convert their first frame only |
| AVIF (.avif) | Browser decoder, libavif fallback | HDR is tone-mapped to 8-bit sRGB |
| GIF (.gif) | Browser decoder | First frame only; animation is not preserved |
| BMP (.bmp) | Browser decoder | Uncompressed input, so large files are normal |
| SVG (.svg) | Rendered by the browser at your chosen size | External fonts and remote images cannot be loaded offline |
HEIC and HEIF photos from Apple devices are detected but cannot be converted: there is no open, patent-free HEVC decoder that can be shipped in a browser. Export those as JPEG from the Photos app first.
Privacy, limits and metadata
- No uploads. There is no server involved in the conversion at all. You can put the browser in aeroplane mode after the page loads and everything still works.
- No file size cap. The limit is your device's memory. Each image is held as uncompressed RGBA while it is being processed, which is roughly width × height × 4 bytes.
- Metadata is removed. Rebuilding from raw pixels drops EXIF, XMP and IPTC — including GPS coordinates, camera model and capture time — which is usually desirable before publishing a photo.
- Colour is normalised to sRGB. Embedded ICC profiles are applied during decoding and not re-attached, so wide-gamut sources are converted rather than preserved.
- Batches are sequential. Files convert one at a time with a progress bar, so a large batch is slow but never freezes the page.
Single-purpose pages
If you always make the same conversion, these pages start with the right settings already chosen: PNG to JPG, JPG to PNG, PNG to WebP, WebP to PNG, JPG to WebP, WebP to JPG, image to AVIF, AVIF to JPG, AVIF to PNG and SVG to PNG.
Questions
Which formats can I convert between?
Input can be JPG, PNG, WebP, AVIF, GIF, BMP or SVG, and every one of them can be written out as JPG, PNG, WebP or AVIF. The source format is read from the file’s magic bytes, so a mislabelled extension does not matter.
Can I mix different input formats in one batch?
Yes. Drop a folder of mixed JPGs, PNGs and WebPs together — each is detected and decoded on its own, then all of them are encoded to the single target format you selected.
Is there a file size or file count limit?
There is no artificial limit. The practical ceiling is your device’s memory, since each image is held as uncompressed RGBA while it is being converted. Very large batches convert fine; they just take longer.
Which output format should I choose?
WebP for general web use, AVIF when you want the smallest possible file and can afford slow encoding, JPG for maximum compatibility with old software, and PNG when you need lossless pixels or an alpha channel.
Does converting back and forth degrade the image?
Between lossy formats, yes — each JPEG, WebP or AVIF re-encode throws away a little more detail, and it compounds. Convert from the original once rather than chaining conversions, and keep a lossless master if you can.