JFIF to AVIF, a quarter smaller. Nothing ever uploads.

Drop JFIF files below — get AVIF images back, typically 25–35% smaller than the JFIF at the same visual quality, with EXIF rotation fixed. Converted entirely on your device.

  • Your file data never leaves the device
  • Quality slider 50–100
  • Batch up to 20 files
  • Works offline after load

Convert JFIF to AVIF

Add your JFIF files

Drag & drop JFIF files here

or browse your files · you can also paste from clipboard (Ctrl+V)

Loading the AVIF encoder…

    No files yet. Everything stays on this device. Downloads start instantly.

    Privacy you can verify, not just trust

    Most online JFIF converters upload your photos to their servers first — and some keep a download link live for 30 days. This one can't: your browser decodes JFIF natively and the AVIF encoder (libavif, compiled to WebAssembly) runs entirely in your browser. Your file data never leaves the device — the only third-party requests are the site's own analytics, which count page views — and it uploads nothing, ever. The encoder file (~3.5 MB) is served from this site, not fetched from anywhere else, and is loaded once, on your first convert. There is no file fetched after load for the conversion itself. Don't take our word for it:

    New cross-origin requests during use: 0
    1. Press F12 to open developer tools, then the Network tab.
    2. Convert any JFIF above. Watch: apart from the site's analytics, nothing new is requested — no uploads, and no file data ever leaves your device.
    3. Extra credit: disconnect your internet after this page loads — conversion still works.

    How to convert JFIF to AVIF without uploading it

    Every "free" online JFIF converter you've used uploads your photos to a company server, converts them there, and — in several documented cases — keeps a copy or a live download link for days. For personal photos, client work, and anything you wouldn't post publicly, that's an unnecessary risk. The safer approach is to convert the file where it already is: on your own device.

    This tool does exactly that. When you drop a JFIF here, your browser:

    1. Decodes the JFIF natively — JFIF is JPEG data and every browser includes a JPEG decoder, so there is no decoder file to download and no waiting for a library to load.
    2. Reads the image's EXIF orientation data and stores the output upright, so a portrait phone photo doesn't come back sideways — and says so on the file card when it did.
    3. Resizes it to the width you picked (800 px by default), keeping the aspect ratio. JFIF has no transparency, so there is nothing to flatten onto a background.
    4. Encodes it as AVIF with libavif, the reference AVIF encoder, running as WebAssembly in your browser — lossy at the quality you pick. Your original file is never modified. Encoding takes roughly 5–10 seconds for a large photo, and each file card shows how long its encode took.

    First, the honest bit: JFIF is just JPEG

    A .jfif file holds ordinary JPEG image data — the extension is a leftover from older Windows apps that saved JPEGs as .jfif. Renaming a .jfif file to .jpg is free, instant, and changes nothing about the picture, and most apps open a .jfif directly. So convert to AVIF only when you need what AVIF alone offers: a smaller file for a website, faster page loads, or an app that will not accept a JFIF at all. If all you needed was a .jpg, rename the file — this tool will not pretend otherwise.

    Why is there no lossless mode?

    Because the lossless mode in this encoder is broken — and shipping a broken toggle would be worse than having none. When the vendored libavif encoder is asked for lossless output, it produces a greyscale file: a colour photo comes back without its colour (a solid red test image decodes back as grey). That was verified with two independent decoders, so it is the encoder, not the preview. Rather than offer a control that silently destroys your photos, this tool is lossy only: pick a quality (80 by default) for the image's destination — a website, a blog post, Discord or a forum — and at quality 80 the result looks identical to the original for almost every photo, typically 25–35% smaller than the JFIF. Lossy AVIF cannot recover detail the JFIF already removed when it was first saved — it can only preserve what is left. If you need every pixel exactly, convert to PNG instead, which is lossless by design. Either way, keep the JFIF as your master copy and publish the AVIF.

    Why is AVIF smaller than JFIF?

    JFIF compresses by throwing away detail in 8×8 blocks, a technique from 1992. AVIF's AV1 codec predicts neighbouring pixels far better and encodes the difference more efficiently, so the same photo typically comes out 25–35% smaller at quality 80 with no visible difference. That is why switching a site's JFIFs to AVIF is one of the cheapest PageSpeed wins there is. The saving is real but not magic: a JFIF that was already saved at low quality has little left to squeeze, and lossless AVIF cannot beat JFIF by much.

    Why won't my JFIF load fast enough on my site?

    JFIF is the web's default for photos, but a JFIF straight from a phone camera can weigh several megabytes, and every kilobyte is time your visitor waits — especially on a phone. AVIF keeps the picture looking the same while cutting the weight, which is what Core Web Vitals and PageSpeed measure. If the destination has a size limit, pick a destination preset and the converter will aim for it: website heroes aim for under 300 KB, blog images under 150 KB, Discord or forum uploads under 256 KB.

    Why is there no canvas fallback?

    With WebP, a converter can fall back to the browser's built-in canvas encoder when its own encoder fails. AVIF has no such safety net: canvas toBlob with image/avif is not reliably available — Safari cannot encode AVIF at all — so a canvas "fallback" would either fail silently or hand you a WebP file with an .avif name, which is worse than no file at all. This tool uses the vendored libavif encoder and nothing else. If that encoder cannot load, conversion is disabled and the page says so plainly, with a link to the JFIF to WebP converter instead.

    Honest limitations

    Lossy only

    The output always discards some detail. Quality 80 is visually identical to the original for most photos, but quality 100 is near-lossless, not pixel-perfect. Keep the JFIF as your master copy.

    No lossless mode — on purpose

    This encoder's lossless option produces greyscale files, so the toggle was left out rather than ship a control that silently strips the colour from your photos. For pixel-exact output, convert to PNG instead.

    Quality 100 can be larger than the JFIF

    At quality 100 the AVIF can come out bigger than the JFIF it came from. If the file comes out bigger, the card says so — use a lower quality for publishing instead.

    AVIF encoding is slow

    Roughly 5–10 seconds for a large photo, because the AV1 encoder searches far more ways to pack the image into fewer bytes. The batch converts one file at a time and each card shows its encode time, so the wait is visible.

    JFIF has no transparency

    Every JFIF pixel is fully opaque, so there is no see-through area to carry over — and no background picker on this tool. If you need transparency, start from a PNG.

    Not every app accepts AVIF yet

    AVIF works in about 94% of browsers (Chrome 85+, Firefox 93+, Safari 16.4+, Edge 121+), and Discord, Slack and most forums accept it — but a few older upload forms and apps still only take JPG or PNG. Check the destination first, or convert to WebP instead.

    Metadata is stripped

    Camera metadata (EXIF, including location) is dropped on re-encode, and colour profiles are not carried over. Orientation is applied — the output is stored upright.

    Very large images depend on your device

    The encoder runs entirely on your device, so a 50-megapixel JFIF needs hundreds of megabytes of memory while it converts. A desktop handles that; a low-memory phone may not. Files over 25 MB are refused outright.

    Frequently asked questions

    Is AVIF really smaller than JFIF?

    Usually, yes — and by more than WebP. A JFIF photo re-encoded as lossy AVIF at quality 80 is typically 25–35% smaller with no visible difference, because AVIF predicts neighbouring pixels better than JFIF does — and this tool shows the before and after size honestly for every file, so you can see the saving instead of taking our word for it. Flat graphics with few colours shrink less, and at quality 100 the AVIF can be larger than the JFIF for photos. If a file comes out bigger, the card says so and you can keep the JFIF.

    Do I even need to convert a JFIF — can't I just rename it to .jpg?

    No. JFIF is JPEG data under a different extension — the image inside a .jfif file is an ordinary JPEG, and renaming a .jfif file to .jpg is free and changes nothing about the picture. The .jfif extension survives mainly because older Windows apps saved JPEGs that way. Convert to AVIF only when you need AVIF itself — smaller files for a website, or an app that only accepts AVIF — not just to change the extension.

    Is the AVIF output lossless?

    No — this tool's AVIF output is always lossy. The quality slider (50 to 100, default 80) trades file size against detail, and at 80 the result is visually identical to the original for almost every photo. Quality 100 is visually near-lossless but not pixel-perfect. Lossy AVIF cannot recover detail the JFIF already removed when it was first saved — it can only preserve what is left. There is deliberately no lossless toggle: the vendored encoder's lossless mode produces greyscale files — a colour photo comes back without its colour — so offering it would silently destroy your photos. If you need every pixel exactly, use our JFIF to PNG converter instead — PNG is lossless. Keep your JFIF as the master copy and use AVIF as the published version.

    Why is AVIF encoding so slow?

    Because AVIF squeezes harder than any other web format. The AV1 encoder searches far more ways to pack each photo into fewer bytes, and that search takes time — roughly 5–10 seconds for a large photo on a typical laptop, where the same photo becomes a JFIF almost instantly. The batch converts one file at a time so the page stays responsive, and each file card shows how long its encode took. The smaller file is the payoff: typically 25–35% smaller than the JFIF at the same visual quality.

    What happens if my browser can't run the AVIF encoder?

    Conversion is disabled, and the page says so plainly — there is no fallback that produces a different format. Unlike WebP, AVIF cannot be encoded with the browser's built-in canvas encoder: canvas toBlob with image/avif is not reliably available, and Safari cannot encode AVIF at all. Some converters quietly fall back to WebP and hand you a WebP file with an .avif name; this tool never does that. If you see the unavailable banner, try a current version of Chrome, Edge, Firefox or Safari — or use our JFIF to WebP converter instead, which works everywhere.

    Will EXIF-rotated phone photos come out upright?

    Yes. Phone cameras often store a photo sideways and record the correct rotation in its EXIF orientation tag, which is why some converters return a sideways image. This tool reads the EXIF orientation from the JFIF and applies it while decoding, so the AVIF is stored upright — and the file card says so when orientation was applied. The EXIF data itself is dropped on re-encode; only the upright pixels survive.

    What happens to my photo's metadata?

    EXIF metadata, including location, camera settings and copyright notes, is dropped on re-encode — which is good for privacy, since a shared JFIF can leak where and when it was taken. Orientation is the one exception: it is applied to the pixels so the image stays upright, then discarded. Colour profiles are not carried over either; the output uses the browser's standard colour handling. 16-bit colour does not apply to JFIF — JFIF is always 8-bit per channel.

    Will my JFIF's transparency survive as AVIF?

    There is no transparency to preserve: JFIF has no alpha channel, so every JFIF pixel is fully opaque — a JFIF photo never has see-through areas. AVIF itself does support transparency, but this tool has nothing to carry over from a JFIF, so there is no background picker and no transparency preview. If you need a transparent image, start from a PNG.

    Can I share the AVIF on Discord, a forum or by email?

    Usually, yes. AVIF works in about 94% of browsers (Chrome 85+, Firefox 93+, Safari 16.4+, Edge 121+), and Discord, most forums, Slack and WhatsApp accept it — though a few older upload forms and apps still only accept JPG or PNG, so check the destination first. Use the destination presets if the app has an upload size limit: website heroes aim for under 300 KB, blog images under 150 KB, and Discord or forum uploads under 256 KB. The presets aim for the target, they do not guarantee it — the tool reports the size it actually reached. Note the difference between viewing and encoding: the preview needs a browser that displays AVIF, so on a very old browser the preview may stay blank while the downloaded file is perfectly valid.

    Is there a file size or daily limit?

    There is no daily limit and no account. A 25 MB safety cap applies per file and 20 files per batch, because decoding large images in the browser is memory-heavy and AVIF encoding takes a few seconds per photo. Most JFIFs saved from a phone or the web are well under 5 MB, far below the cap. Very large images also depend on your device's memory — the encoder runs entirely on your device, so a low-memory phone will struggle with a 50-megapixel JFIF where a desktop will not.