Skip to main content

JPG to AVIF converter

Convert JPG images to AVIF format

No watermarkFree & unlimited
All processing happens in your browser. No data is sent to any server.

AVIF is the most efficient still format widely available today, and a JPEG library is the most common thing people point it at. The conversion decodes your photo and hands the pixels to the AV1 encoder inside the browser, which typically produces a file a third to a half the size at a quality most viewers cannot distinguish. Two caveats shape the page. The encode is genuinely slow, because AV1 searches hard for its savings. And only Chromium browsers can perform it - elsewhere the canvas quietly falls back to PNG data.

Key facts about JPG to AVIF converter

Key facts about JPG to AVIF converter
How it encodesA single AV1 intra-coded frame inside a HEIF container, produced by calling the canvas with the image/avif type.
Where it worksChrome, Edge and other Chromium builds encode AVIF. Firefox and Safari can only display it, and will hand back PNG bytes named .avif instead.
Typical savingA 1.5 MB camera JPEG usually lands between 500 and 800 KB at quality 90, with larger savings on soft or low-detail photographs.
Second-generation lossThis is lossy to lossy, so the encoder has to reproduce the JPEG's existing artifacts as well as the picture - always convert from the best original you have.
Encode timeSeconds per image rather than milliseconds. A batch of twenty full-resolution photos will keep a core busy for a while.
Quality sliderRuns 30 to 100 and defaults to 90. AVIF degrades gracefully, so 70 to 80 is often still acceptable for web delivery.
TransparencyAVIF supports alpha, but a JPEG has none, so the result is opaque - this pair cannot produce a cut-out.
MetadataCamera tags, GPS coordinates and the ICC profile stay behind at the canvas and are not written into the AVIF item.
Viewer supportChrome 85, Firefox 93, Safari 16.4, macOS Ventura Preview, and Windows 11 with the AV1 extension installed.

What happens to your file

The AV1 encoder used here is part of your browser, not a service: the JPEG is decoded locally, drawn onto a canvas, and re-encoded by a canvas.toBlob call that blocks on your own processor for as long as the compression takes. Nothing is uploaded, nothing is queued behind other users, and there is no file-size policy beyond what your machine can hold in memory. It also means the location data in a phone photo never travels - and is not copied into the AVIF either.

About this tool

  1. 1

    Use Chrome or Edge for this page

    A Chromium browser is what makes real AVIF output possible; in Firefox or Safari the file will contain PNG data under an .avif name.

  2. 2

    Add JPG or HEIC photos

    Up to twenty per run. iPhone HEIC files are decoded to JPEG data in the tab and then encoded as AVIF.

  3. 3

    Choose the quality

    Start at 90 and step down if the target is a web page. Compare at full zoom before committing to a large batch.

  4. 4

    Convert, then verify the saving

    The percentage reduction appears with the result. If it is small, the source JPEG was probably already heavily compressed.

Specs & compatibility
Input and outputTakes .jpg and .jpeg only (image/jpeg) and returns .avif with the image/avif type; any other extension is refused before decoding.
Conversion pathJPG to AVIF runs in three steps: an <img> element decodes the JPEG, baseline or progressive, in the browser; the pixels land on a 2D canvas in this tab; then canvas.toBlob with the image/avif type returns the finished file.
Browser supportThe JPEG side decodes in every browser ever shipped, while writing the AVIF needs a Chromium browser, since Firefox and Safari return PNG bytes under the .avif name.
Controls for this pairA 30 to 100 quality slider (steps of five, default 90) drives the AVIF encode, max-dimension presets from 3840 down to 200 px resize the JPG first, and the strip-metadata toggle is moot on this pair.
Batch, caps and namingTwenty JPG files per run at 500 MB each; one result downloads as a single AVIF, several as converted-avif-files.zip, zipped by JSZip 3.10 in page memory.
Device ceilingThe canvas caps it: past roughly 16,384 px a side Chromium refuses the bitmap and iPhone Safari gives up sooner, so an oversized JPG fails before any AVIF bytes exist.
  • Downscale before encoding rather than after - AV1 spends its time per pixel, so a smaller image is both faster and lighter.
  • Keep the JPEG originals. AVIF is excellent for delivery but a second lossy generation is not a master copy.
  • A picture element with an AVIF source and a JPG fallback covers every visitor, including the ones on older systems.
  • If the output is oddly large and opens in software with no AVIF support, check which browser you are using - that is the PNG fallback showing.
  • Converting a site's photographic assets to cut bandwidth without visibly changing the images.
  • Compressing an archive of camera JPEGs for storage where space matters more than universal compatibility.
  • Testing how much smaller a page's hero image could be before committing to a build-pipeline change.
Commonly a third to a half the size at comparable visual quality, and sometimes better on smooth or low-noise photographs. The saving shrinks when the source JPEG was already saved at a low quality, because the encoder then has to spend bits reproducing blocking artifacts that add nothing to the picture.
AV1 intra coding evaluates far more block partitions and prediction modes than JPEG does, and that exhaustive search is exactly where the compression comes from. On a large photo it can occupy a core for several seconds. Since the encoding runs on your own machine, there is no queue - just genuine computation.
Yes, in principle. The JPEG already lost information, and AVIF now approximates the result of that loss, so artifacts can compound. At quality 90 the second generation is very hard to see, but repeatedly converting between lossy formats will eventually show. Always start from the highest-quality source available.
Nearly all of them. Chrome, Edge, Firefox and Safari have all decoded AVIF for several years, and modern phones display it natively. The exceptions are older desktop applications, some email clients and image tools that never added support, which is why a JPG fallback in a picture element is still sensible.
No. The conversion goes through a canvas, which carries pixels only, so camera model, exposure, timestamps and GPS position are all left behind. The rotation flag has already been applied to the pixels during decoding, so the image appears the right way up despite the tag being gone.
View all

Need the opposite? Try AVIF to JPG

Updated

We use anonymous analytics to improve ToolChamp. No personal data is stored or sold. Privacy Policy