Converter · No upload

AVIF to JPG, locally

Drop in AVIF images and download JPGs at the quality you choose, in a format editors and upload forms have handled for decades. The conversion runs entirely inside your browser — nothing is uploaded, the network meter below proves it live, and it works with your wifi off. Transparency is flattened onto white, because JPG has none.

Statusidle Files OutputJPG Network since file read

The dial applies to files you add after changing it — files already converted keep the quality they were made at (drop them in again to re-convert).

How this converter works

Every modern browser decodes AVIF natively — it's a web format, after all. When you choose a file, the File API opens it in memory, the browser's decoder turns it into raw pixels, this page draws those pixels onto a canvas filled with white — flattening any alpha, since JPG carries none — and the canvas re-encodes them as a JPG at the quality you set. The result comes back as a download link. No step involves a network transfer; the site is static files with no server that could receive an upload.

There is a stronger argument available than any measurement, and it is structural. A file can only be uploaded somewhere if something is standing by to receive it. What you are using is a folder of static documents distributed by a content network: no backend process, no database, no endpoint of ours that accepts anything at all. This code could be rewritten tomorrow, and the site's Content-Security-Policy — enforced by your browser rather than promised by us — permits connections to this origin only, where nothing stands by to accept an upload. That differs in kind from a pledge not to look at what you convert, and it explains why the design begins with the absent server rather than with a privacy statement. Particulars live on the methodology page.

The honest limits: JPG's savings come from discarding detail, and that loss is irreversible — keep your AVIF originals for anything that matters. Both formats are lossy, so this is a second generation of loss on top of the first; sharp edges, text, and flat-color graphics show it soonest, while photographs tolerate it best. Animated AVIF yields only its first frame, since JPG is a still format. And re-encoding strips any metadata from the output, which for shared images is usually the right default.

Frequently asked questions

Is my image uploaded anywhere?
No. Your browser decodes the AVIF itself, redraws it on a canvas inside this tab, and re-encodes it as a JPG — the bytes never leave the machine. The network meter above counts requests made after your file is read; it stays at zero, and you can disconnect entirely and convert again to check.
Why do I have an AVIF in the first place?
AVIF is the still-image form of the AV1 video codec, and sites serve it because it is markedly smaller than JPG at the same visible quality. You most often end up with one after saving an image from a website, and then find that an older editor, a print shop or a form upload will only take a JPG.
Is transparency preserved?
No, and it cannot be — JPG has no alpha channel. A transparent AVIF is composited before encoding, so anything see-through becomes solid. If your image has transparency you want and can use, convert it to PNG instead.
What happens with an animated AVIF?
JPG is a still format, so you get the first frame — and the result row says so explicitly rather than leaving you to notice. An animated AVIF announces itself in the file header (major brand “avis” rather than “avif”), so this page can tell before it converts anything.
Does converting lose quality?
Some, unavoidably. AVIF and JPG are both lossy and they compress differently, so re-encoding means a second generation of loss on top of whatever the AVIF already discarded. It is usually invisible at normal viewing size, and it is the price of a format that opens everywhere. Convert once from the best original you have rather than repeatedly.

Related tools