Converting
Convert AVIF to JPG on Mac
To convert AVIF to JPG on a Mac, open Terminal and run sips -s format jpeg photo.avif --out photo.jpg. macOS 27 reads and writes AVIF natively, so nothing needs installing and nothing gets uploaded. It takes well under a second.
The part no one measures is what it costs. AVIF is already a lossy format, so this is a lossy-to-lossy transcode: you throw away detail a second time and the file gets bigger. On the test image below, an 18,447-byte AVIF became a 106,094-byte JPEG and scored slightly worse against the original than the AVIF did. That is 5.8 times the bytes for a marginally worse picture, and it is the normal outcome, not an edge case.
Can macOS actually open AVIF files?
Yes, and you can verify it yourself rather than taking anyone’s word for it. ImageIO, the framework behind Preview, Quick Look, Finder and sips, publishes the list of formats it can read and write. On macOS 27.0 (build 26A428) that is 62 readable identifiers and 22 writable ones. One line of Swift prints them:
swift -e 'import ImageIO
print((CGImageDestinationCopyTypeIdentifiers() as! [String]).sorted().joined(separator: "\n"))'public.avif appears in both lists, so macOS can decode AVIF and encode it. Quick Look confirms the decode side: qlmanage -t -s 256 photo.avif returns “produced one thumbnail”.
One wrinkle worth knowing. Preview’s own Info.plist declares public.avif with the role Viewer, not Editor, the same as HEIC. Preview will happily show you an AVIF; it treats the file as read-only. JPEG, PNG, TIFF and PDF are the four types it declares as Editor.
So when something “chokes on AVIF” on a modern Mac, it is almost never macOS. It is one specific app that predates 2023, or an upload form with a hardcoded MIME allow-list. Which of the two it is matters, because one of them has a better fix than converting.
What does converting AVIF to JPG cost you?
Here is the chain, measured on image 23 of the Kodak lossless suite, a 768 × 512 photograph. The original PNG is the reference every row is scored against, using PSNR in decibels, where higher is better and a difference under about 0.5 dB is invisible.
| Step | Bytes | PSNR vs original | Note |
|---|---|---|---|
| kodim23.png (reference) | 557,596 | n/a | lossless reference |
| → AVIF, sips quality 55 | 18,447 | 36.86 dB | what a site would serve |
| → JPEG q50 | 39,876 | 35.40 dB | 2.2× the AVIF |
| → JPEG q70 | 61,863 | 36.37 dB | 3.4× the AVIF |
| → JPEG q85 | 81,690 | 36.63 dB | 4.4× the AVIF |
| → JPEG q95 | 89,588 | 36.73 dB | 4.9× the AVIF |
Read the last column down and the ceiling is obvious. The AVIF measured 36.86 dB against the original. No JPEG made from that AVIF ever beats it: quality 95 reaches 36.73 dB and stops. Pushing from q85 to q95 spends 7,898 extra bytes to buy 0.10 dB, which is nothing. You cannot recover what the first encoder already discarded, and paying for a higher JPEG quality only preserves the AVIF’s artifacts more faithfully.
The comparison that shows the real damage is against a JPEG made from the original instead of from the AVIF.
| JPEG quality | From the AVIF | From the original PNG | Gap |
|---|---|---|---|
| 50 | 39,876 B · 35.40 dB | 42,328 B · 37.39 dB | 1.99 dB |
| 70 | 61,863 B · 36.37 dB | 76,116 B · 39.74 dB | 3.37 dB |
| 85 | 81,690 B · 36.63 dB | 112,427 B · 41.09 dB | 4.46 dB |
| 95 | 89,588 B · 36.73 dB | 132,584 B · 41.81 dB | 5.08 dB |
That gap is the generation you lost. If the original still exists somewhere, export the JPEG from it and delete the AVIF from the workflow entirely. This is the same argument made at greater length in converting HEIC to PNG, where the numbers run in the other direction but the principle is identical: pick the target from the source, not from whatever intermediate you happen to be holding.
Why is the JPG bigger than the AVIF it came from?
AVIF is roughly twice as efficient as JPEG at the same visual quality, so undoing it costs bytes by definition. For photographs the penalty is a factor of four or five. For anything with flat colour and hard edges it is much worse, because JPEG’s discrete cosine transform is the wrong tool for a straight line.
Three content types, each encoded to AVIF at the same setting and then converted to JPEG at quality 85:
| Content | Original PNG | As AVIF | AVIF → JPEG q85 | JPEG vs AVIF |
|---|---|---|---|---|
| Photograph, 768 × 512 | 557,596 B | 18,447 B | 81,690 B | 4.4× bigger |
| App screenshot, 1440 × 900 | 102,986 B | 24,279 B | 131,225 B | 5.4× bigger |
| Flat diagram, 1440 × 900 | 69,383 B | 12,235 B | 158,491 B | 13.0× bigger |
Look at the last row twice. The diagram started as a 69,383-byte lossless PNG. After a round trip through AVIF and out to JPEG it is 158,491 bytes, which is 2.3 times the size of the lossless original it was supposed to be a compressed copy of, and it now has ringing around every edge.
Converting to PNG instead does not rescue you either. The same three AVIFs decoded to PNG came out at 440,368, 131,936 and 145,276 bytes. Once an image has been through a lossy codec, PNG faithfully stores the artifacts too, and artifacts do not compress. For the screenshot that is still 1.28 times the size of the original PNG.
The honest conclusion: if the AVIF opens where you need it to open, leave it alone. The conversion is a downgrade in both axes at once.
When is converting AVIF to JPG unavoidable?
There are four real cases, and they are worth separating because two have better fixes.
An upload form rejects the file. Job portals, insurance claims, print labs and older content management systems commonly accept only JPEG and PNG. There is no argument to be had with a server-side allow-list. Convert, and accept the cost.
Software older than 2023 has to open it. Adobe added AVIF reading in the 2023 releases; plenty of installed copies are older. Same for older versions of Affinity, most scientific imaging tools, and effectively every embedded viewer. Convert.
Someone on another platform needs it. Check first. Windows 11 ships AVIF support and current Chrome, Edge, Firefox and Safari all decode it, so this reason has expired for most recipients.
You are feeding a pipeline that only speaks JPEG. Legitimate, and the one case where the file-size penalty genuinely does not matter, because the JPEG is an intermediate that gets deleted.
Notice what is missing from that list: “to make the file smaller”. If that is the goal you want the opposite operation. Keep the AVIF, or read how image compression on a Mac actually works before converting anything.
How do you convert a whole folder of AVIFs?
sips has no batch mode of its own, but it does not need one. A shell loop covers it, and the formatOptions flag sets JPEG quality from 1 to 100:
cd ~/path/to/avifs
for f in *.avif; do
sips -s format jpeg -s formatOptions 85 "$f" --out "${f%.avif}.jpg"
doneOne detail that shows up in exiftool: sips writes JPEG with 4:2:0 chroma subsampling, which throws away three quarters of the colour resolution on top of everything else. For photographs nobody sees it. For a screenshot with coloured text on a coloured background it is visible, and it is not adjustable from sips.
Smol takes the same folder by drag and drop or through its Finder Quick Action, and writes 4:4:4 JPEG with no chroma subsampling. Three AVIFs converted in 575 ms on the M2 Pro, pixel dimensions preserved. What it reported is the reason this section exists:
| Input | AVIF bytes | JPEG out | Smol reported |
|---|---|---|---|
| Photograph | 18,447 | 106,094 | −475.1% savings, increased: true |
| Screenshot | 24,279 | 123,585 | −409.0% savings, increased: true |
| Flat diagram | 12,235 | 140,759 | −1050.5% savings, increased: true |
Negative savings, flagged. A converter that quietly hands back a file five times larger without saying so is doing you no favours, and this is the number to check before you run the same job across a thousand files.
If this conversion is part of a repeatable build step rather than a one-off, Smol also exposes the whole conversion surface over an MCP server that Claude Code, Codex and Google Antigravity can drive directly. Every measurement in this article was produced that way, by asking the app to convert a list of absolute paths and reading back the byte counts it returned.
When Smol is not the answer
For one AVIF, use sips. It is already on your Mac, it is a single line, and paying for software to run one command would be daft. For a handful of files, the shell loop above is thirty seconds of typing and costs nothing.
If you need to control AVIF encoding rather than escape it, sips and Smol are both too blunt. avifenc from libavif exposes speed, tiling, chroma sampling and per-plane quality, and it is a brew install libavif away.
If the AVIF is a still frame you actually want as a document rather than an image, the route is different again and is covered in PDF and image conversion on Mac.
Smol earns its place on the fourth case only: a recurring folder of mixed formats that has to come out as JPEG at a consistent quality, with metadata stripped, from Finder, without uploading client work to a website. That is a different job from “open this one file”, and it is worth being clear about which one you have. If it is the recurring one, Smol is $29 once and never sends a byte off the machine.
Related routes: PNG to WebP, GIF to MP4, and the full format reference for every conversion Smol supports.
Frequently asked questions
How do I convert AVIF to JPG on a Mac without installing anything?
Open Terminal and run: sips -s format jpeg photo.avif --out photo.jpg. macOS 27 includes an AVIF decoder in ImageIO, so sips handles it with no download. Add -s formatOptions 85 to set JPEG quality. The whole conversion takes well under a second for a typical web image.
Why is my converted JPG bigger than the original AVIF?
Because AVIF is roughly twice as efficient as JPEG at the same visual quality, so undoing it costs bytes. Measured on a 768 by 512 photograph, an 18,447-byte AVIF became an 81,690-byte JPEG at quality 85. On a flat diagram the JPEG came out 13 times larger than the AVIF.
Does converting AVIF to JPG lose quality?
Yes, twice. AVIF is already lossy, so the JPEG encoder is compressing an image that has been compressed once. A JPEG made from the AVIF measured 36.63 dB against the original at quality 85, while a JPEG made straight from the original measured 41.09 dB. That 4.46 dB gap cannot be recovered.
Can Preview open and export AVIF files on macOS?
Preview opens AVIF but treats it as read-only. Preview’s Info.plist declares public.avif with the role Viewer rather than Editor, alongside HEIC. The formats it declares as Editor are PDF, JPEG, PNG and TIFF. Use sips or a third-party app if you need to write AVIF back out.
Should I convert AVIF to JPG or to PNG?
Neither, if the AVIF already opens where you need it. If you must convert, use JPEG for photographs and PNG for screenshots and diagrams. Both grow: the same three AVIFs decoded to PNG came out at 440,368, 131,936 and 145,276 bytes, because PNG stores the lossy artifacts faithfully and artifacts do not compress.
Keep reading