Polyatic Image Format Converter
All tools

Image Format Converter

Convert images between PNG, JPG and WebP in your browser — one file or a whole batch, transparency kept or flattened, the finished set in one zip. Nothing is uploaded.

Drop images here, or click to choose PNG · JPG · WebP · GIF · BMP · usually AVIF · one file or a whole batch

No images handy?

Convert to
Quality0.90

Converted image

Drop one image or a whole set on the left and pick a target format. One file gets the big before → after readout and a preview over a checkerboard; several get a row each — name, source format, output format and size — plus a “Download all (.zip)” button once two have finished.

Your images never leave your browser. Decoding and re-encoding happen on your own device with the Canvas API. There are no uploads — you can disconnect from the internet and it still works.

Offline later: once you have opened this page with a connection, it reopens and works with none — your browser keeps a copy. Not saved: the very first Polyatic page you ever open (open it again while online), and any page or link you have never opened.

What "converting an image format" actually changes

An image file is just pixels wrapped in a container format that decides how those pixels are stored: PNG and lossless WebP keep every pixel exactly, while JPG and lossy WebP throw away detail the eye is least likely to miss to make the file smaller. Converting between formats re-wraps the same picture in a different container — this tool keeps the pixel dimensions unchanged and only re-encodes. It is deliberately not a resizer: if you want a smaller file, reach for the Image Compressor & Resizer, which adds width, scale and quality targeting.

The one thing that trips people up: transparency

Three of these formats carry an alpha channel (per-pixel transparency) and one does not. PNG and WebP can store a logo with a see-through background; JPG cannot store transparency at all. So when you convert a transparent PNG to JPG, every clear pixel must be painted onto a solid colour first — otherwise the encoder would guess, usually black. This tool lets you pick that background (white by default), and shows the result live over a checkerboard so you can see exactly what "flattening" did before you download.

FormatCompressionTransparencyReach for it when…
PNGLosslessYes (alpha)logos, icons, screenshots, sharp text, anything that must stay pixel-perfect or keep a see-through background
JPGLossyNophotographs that must open literally everywhere, including old software and email
WebPLossy or losslessYes (alpha)the web: ~25–35% smaller than JPG at matched quality, and it keeps transparency

A worked example

Say a designer hands you logo.png — a 512×512 mark on a transparent background, 40 KB. For a website hero you convert it to WebP: transparency is preserved, and at quality 0.90 it lands near 18 KB while looking identical. For an email signature that must render in ancient clients you instead convert the same file to JPG with a white background: the transparency is flattened onto white, and you get a universally-openable file — but note that on a coloured email background the white box will now show, which is exactly why WebP or PNG is the better pick when transparency matters.

A whole folder at once — and the name clash that comes with it

Drop twenty PNGs and all twenty are converted under one set of controls: one target format, one quality, one background colour for flattening. That is the point — a folder of screenshots for one article wants one consistent treatment, not twenty separate decisions. Each file still gets its own row with its own numbers, because a batch average hides the one image that came out four times larger.

Three details are worth knowing before you drop forty files:

  • Colliding output names are numbered, not overwritten — and this tool collides more often than its siblings. A converter keeps the file's stem and swaps only the extension, so photo.png and photo.jpg converted to WebP both want to be photo.webp. (The resizer and compressor put the output width in the name, which hides the clash most of the time; here there is nothing to hide it.) The second file becomes photo-2.webp, the third photo-3.webp, and the number is stable as long as you do not change the selection. Two identical names inside one archive is a silently corrupt download — most unzip tools show one file and quietly drop the other.
  • Files are converted one at a time, not all at once. A decoded 12-megapixel image is about 48 MB of raw RGBA pixels in memory; forty of those at once is roughly 1.9 GB, which is how a browser tab dies. Here each image is decoded, drawn and then released before the next one is opened, so the tab holds one decoded picture at a time however long the queue is. A big batch therefore takes visible seconds — the rows fill in from the top as it goes.
  • The zip is stored, not compressed. “Download all (.zip)” appears once two files have finished and packs them with zip's store method — no deflate. PNG, JPG and WebP bytes are already compressed (PNG is internally deflate; JPG is Huffman-coded DCT), so deflating them again typically saves a percent or two, sometimes adds bytes, and costs real time. Every unzip tool on every platform reads stored entries.

A file the browser cannot decode does not vanish from the list. It keeps its row, named, with the reason on it — HEIC from an iPhone is by far the most common, because most browsers ship no HEIC decoder at all — and it is left out of the archive rather than silently missing from it. On the phone, Settings → Camera → Formats → Most Compatible makes the camera save JPG instead. One file on its own still behaves exactly as this page always has: the big before → after readout, the checkerboard preview and a single Download button, with no archive to unpack.

Lossy round trips lose quality — permanently

Because JPG and lossy WebP discard detail, re-encoding to them is a one-way door. Converting a photo JPG → PNG makes a lossless copy, but it copies the JPG's existing artefacts pixel-for-pixel — it does not recover what the first JPG already threw away, and the PNG will usually be much larger because PNG compresses photographs poorly. Converting PNG → JPG → PNG bakes in fresh loss on the middle step. The rule of thumb: keep a lossless master (PNG or lossless WebP) while you are still editing, and only convert to a lossy format as the final delivery step.

Honest limits

  • Input is limited to what your browser can decode. PNG, JPG, WebP, GIF and BMP load reliably, and most current browsers decode AVIF too, so an AVIF photo normally converts here; on a rare older browser that cannot, you get a plain message rather than a dead drop zone. HEIC (iPhone photos) and camera RAW are the real exceptions — most browsers ship no decoder for either, so export a PNG or JPG from another app first. Output is a separate question: the browser's canvas can write only PNG, JPG and WebP, which is why those are the three target formats.
  • Animation and metadata are dropped. An animated GIF is flattened to its first frame, and the canvas strips all EXIF, GPS and ICC colour-profile data — a privacy win, but an image relying on EXIF orientation may come out rotated and wide-gamut colour is treated as sRGB.
  • Output bytes depend on the browser's encoder. It uses the built-in JPG/WebP/PNG encoder, not an optimiser like MozJPEG or a PNG palette quantiser, so a dedicated command-line tool can still beat it byte-for-byte at the same visual quality.
  • A rare old browser may not encode WebP. If so, the tool tells you and you can pick PNG or JPG instead.
  • A batch is still your own device doing the work. Files are converted one at a time and each decoded image is released before the next, so a long queue is slow rather than fatal — but forty large photos take visible seconds, and changing the format re-converts the whole queue from scratch. The archive is assembled in memory too, so a set big enough to exhaust the tab fails at that step instead of degrading.