imagetojpg.app
Tools

About imagetojpg.app

Small, fast image tools that do one job well and never ask you to upload a photo. Built and maintained by the imagetojpg.app team.

How the converters work

  1. Each file is read with the browser's File API. Its first bytes are checked to identify the real format (HEIC/HEIF brands, AVIF, WebP, PNG, GIF, BMP, JPEG), regardless of the extension.
  2. HEIC and HEIF are decoded by heic2any, an open-source build of libheif compiled to WebAssembly that runs in the page. Every other format is decoded by the browser's own image decoder.
  3. The pixels are drawn to a canvas. For JPG, transparent areas are filled white first; then the canvas is encoded at the chosen quality (92 by default). PNG output is lossless.
  4. JPEG and JFIF inputs going to JPG are not decoded at all: the original bytes are copied into a .jpg file, so there is no generation loss.
  5. Batches are zipped in the browser with fflate and saved with a normal download.

No step sends image data over the network. You can check this in your browser's developer tools (Network tab) or by going offline after the page has loaded — conversion still works.

How we tested

The before/after examples on each page are real outputs of these tools from four 1600×1066 test photos (café, lake, spices, fruit) encoded as HEIC, HEIF, AVIF and JFIF. File sizes shown are the exact sizes produced. Every converter was run end to end before launch, and the JFIF route was verified to be byte-identical to its input. Unit tests cover format detection, file naming and the palette maths.

Colour picker and palettes

The color picker reads pixel values from a canvas copy of your image at full resolution. The palette groups pixels by similarity (a median-cut style quantiser that splits at the channel mean) and returns the six largest groups. The daily palette is generated from the date with fixed colour-harmony rules.

Keeping it accurate

We update pages when browser support or built-in methods change; each page shows its last update date. If a file won't convert, try the latest Chrome, Edge, Firefox or Safari — the decoders are the browser's own (plus libheif for HEIC).

Updated · By the imagetojpg.app team