Convert JPG to AVIF
Re-encode JPG photos as AVIF, the lightest format browsers can display — written by your own browser's encoder, in batch, with nothing uploaded.
Your images
Settings
Generated images
- Nothing uploaded
- Free, no sign-up
- Strips EXIF
- Batch files
PageSpeed Insights flags your product photos in its "Serve images in next-gen formats" audit and estimates a few hundred kilobytes of savings per page. The photos are JPGs exported from Lightroom or straight off a phone, your theme or CDN already accepts .avif, and the only thing between you and the green score is the conversion. At the default setting of 82, a 500 KB JPG usually returns as a 200–300 KB AVIF that looks identical at display size.
The catch is who does the encoding. There is no server involved: the AVIF is written by the encoder inside your browser, and only Chromium browsers ship one. Chrome 124 and newer, Edge, Opera and Brave pass the check this page runs on load and get an AVIF button on the format bar. Firefox and Safari display AVIF but cannot write it, so on those — and on every browser on an iPhone or iPad — the button never appears and the output is a JPG.
The second thing to expect is time. AV1 encoding does far more work per pixel than JPG, and all of it runs on your own processor: figure several seconds per 12-megapixel photo on a laptop, and a couple of minutes for a folder of thirty. In return there is no queue, no file cap, no daily limit, and the originals never leave your computer.
How it works
The page opens with AVIF preset, but the button only exists if this browser can encode it — so step one is a glance at the format bar.
Drop the JPGs, find the AVIF button
Drag files onto the page, pick them with the button, or paste with Ctrl+V. Then look at the format bar in the settings panel: in Chrome, Edge, Opera or Brave an AVIF button is there — click it so it is highlighted. If no AVIF button appears (the bar runs WebP, PDF, BMP, ICO), this browser has no AVIF encoder: the page switches to JPG and says so.
Set quality and, ideally, a max width
The slider runs 30–100 and opens at 82; 70–85 covers most site photos. If the image will display at 1,200 px, type 1200 in Max width (px) as well — fewer pixels means a smaller file and a faster encode. Press Generate images and wait; the button shows the progress (2 of 5) while each file is encoded.
Compare, check the extension, download
Each card shows the new size, a −% badge and a Compare button that slides between original and result. Make sure the name ends in .avif rather than .jpg, then download files one at a time or everything as a .zip. Publish the AVIF next to the original JPG, never instead of it.
Which browsers show the AVIF button
Displaying AVIF is universal now; writing it from a web page is Chromium-only, because canvas encoding to image/avif arrived in Chrome 124 and Firefox and Safari have not followed. On load, this page asks your browser to encode a 2×2 pixel test image and adds the AVIF button only if a genuine AVIF comes back.
Both fallbacks say so: without a WebP encoder the button is disabled and a notice appears; without an AVIF encoder the bar switches to JPG with a notice, and every card carries a JPG tag. The filename is your check; failing Chrome or Edge, WebP is the next-best cut.
| Browser | Displays AVIF | Writes AVIF here | You download |
|---|---|---|---|
| Chrome 124+, Edge, Opera, Brave (desktop) | Yes | Yes | .avif |
| Chrome on Android | Yes | Usually (the test decides) | .avif |
| Firefox | Yes, since 93 | No | .jpg |
| Safari on Mac | Yes, since 16 | No | .jpg |
| iPhone or iPad, any browser | Yes, since iOS 16 | No (Safari's engine) | .jpg |
How much smaller the AVIF gets
At matching visual quality AVIF usually lands 40–60% under the JPG; the −% badge on each card gives your exact figure. The slider is not the JPG scale — AVIF 82 is neither the look nor the bytes of JPG 82 — so judge in Compare, and try 70 on banners. Three inputs save less:
- JPGs saved at quality 60 or below already threw their detail away; the AVIF preserves the blocky artifacts faithfully. Start from the original export or RAW if you have it.
- Files under about 20 KB, where container overhead eats the saving. Keep the JPG.
- Photos far larger than they display: a 4,000 px shot shown at 1,000 px carries sixteen times the pixels painted. Max width fixes that here, and the two savings multiply.
Why it is slow, and what speeds it up
AV1 weighs far more coding choices per block than JPEG's 1992 algorithm, so the same photo takes 10–20 times longer to write — in your tab, on your processor, so an old laptop or a phone is proportionally slower.
- Set Max width first: encode time scales with pixel count; a 1,600 px copy finishes about six times faster than a 4,000 px original.
- Keep the tab in front; browsers throttle background tabs.
- Send 20–30 files per round; the only limit is device memory.
- Sides over 10,000 px are downscaled to that limit; EXIF is stripped from every output.
Serving AVIF without breaking anything
Keep the JPG as the master and serve both: a picture element with a source of type image/avif, one of type image/webp, and an img pointing at the JPG. Browsers skip sources they cannot decode, so nobody sees a broken image. WordPress accepts .avif uploads since 6.5 if the host's image library supports it.
Keep AVIF off email, chat and upload forms: Windows Photos needs the free AV1 Video Extension, Word and PowerPoint refuse it, and forms that whitelist .jpg and .png bounce it. Anything leaving the site goes out as JPG.
Frequently asked questions
Why is there no AVIF button on the format bar?
Your browser can display AVIF but has no encoder for it — Firefox, Safari on a Mac, and every browser on an iPhone or iPad, since they all run on Safari's engine. The page tests for the encoder on load and only adds the button when the test passes; without it, output falls back to JPG. Chrome, Edge, Opera or Brave on a desktop will show the button.
The card says −35% but the file is a .jpg. What happened?
The AVIF encoder was missing, so the page re-encoded your JPG as a JPG at quality 82, which is why there is still a saving. There is no warning for this case — the extension is the tell. Reopen the page in Chrome or Edge and the same files come out as .avif.
How much smaller than the JPG will the AVIF be?
Usually 40–60% at the same visual quality: a 500 KB photo tends to land at 200–300 KB at the default 82, less if you lower the slider. JPGs that were already compressed hard, and images under about 20 KB, save far less.
Why does JPG to AVIF take so much longer than JPG to WebP?
AV1 encoding does several times the work per pixel of WebP and 10–20 times that of JPG, and it all runs on your own device. Setting a Max width before you generate and keeping the tab in the foreground are the two things that shorten it most.
What quality should I use for AVIF?
Leave 82 and open Compare. Banners and background photos usually hold at 70–75; anything with small text or fine lines wants 90 or higher. The AVIF number is not interchangeable with the JPG number you are used to.
Should I resize before converting, or convert first?
Resize first, and you can do it on this page: type the display width — or twice it for high-density screens — into Max width (px) before pressing Generate. Pixel count decides the byte count more than the format does, and it also decides how long the encode takes.
Does the AVIF keep the JPG's EXIF, like camera model and GPS location?
No. Every file this page writes has EXIF stripped, so no coordinates or camera data are published with the image. And because the encoding runs in your browser, the original JPG is never uploaded anywhere in the first place.