tools / images / image converter

Image converter

A mixed pile of formats in and one format out, with every file's real type read from its own bytes.
Runs locally in your browser. Enable JavaScript to use the interactive tool. The practical details remain available below.

What Image converter actually does

Most converters ask for one format and give back one format, which means a folder of holiday photographs from three different phones has to be sorted before it can be converted. This one takes the pile. Every file is identified by its leading bytes rather than by its name, so a screenshot someone saved as a .jpg is recognised as the PNG it actually is and converted correctly instead of failing halfway through. Each file is a row of its own with its detected format, its pixel size and its outcome, so one unreadable file in a batch of forty does not take the other thirty-nine down with it. The output format menu is built by asking this browser what it can write and reading the answer back, because a browser that cannot write a format substitutes a PNG without saying so, and a file named for a format it does not contain is worse than a refusal.

How to use it

  • Drop the files in or choose them; up to sixty at a time, in any mixture of formats.
  • Pick the one output format for the batch. Quality appears when the target is lossy, and a fill colour appears when a file carrying transparency is heading somewhere transparency cannot follow.
  • Convert, read the queue, then take the files one at a time or all together as a zip. Anything that failed can be retried without re-adding the rest.

Useful for

  • Turn a mixed folder of phone photographs, screenshots and downloads into one format for an upload form that only accepts one.
  • Get a set of pictures out of formats an older program refuses to open.
  • Strip location and camera data off a batch of photographs by converting them, since a canvas carries pixels and nothing else.

Limits worth knowing

  • TIFF is not decoded. No browser has a TIFF decoder, so a TIFF is listed with that reason rather than quietly skipped.
  • An animated GIF or WebP converts to its first frame only, which the row says before the file is downloaded.
  • Colour profiles are not carried through. A wide-gamut photograph converts to the profile this display uses and may shift slightly.
  • The queue holds sixty files at a time, because every decoded image is held in memory for its preview.

Questions people ask

How does it know the format when the file has the wrong extension?

By the first few bytes. PNG, JPEG, GIF, WebP, BMP, AVIF, HEIC, TIFF and ICO each begin with a signature that is part of the file rather than part of its name, and the row shows what was found.

What happens when one file in the batch is broken?

Only that row fails, with the reason attached to it. The rest convert normally, and a retry control re-runs the failed rows alone.

Do the files leave this machine?

No. Decoding, conversion and download all run in this tab with locally bundled code, including the HEIC decoder, which is fetched from this site as a static file rather than called as a service.