Drop AVIF files here and get JPEG XL (JXL) files back: one high-quality encode per file, with nothing to set. Up to 3 files a month with no signup and 20MB per file, or 25 a month with a free account. Files are processed in memory at api.mochify.app and wiped the moment your download is ready.
Up to 3 per batch to start, no account needed.
There is nothing to type and nothing to set: this page does one job, an AVIF to JXL conversion, and starts it as soon as the files land.
Each JXL comes back in seconds.
Both formats are lossy, so this is a decode and a re-encode: the AVIF is decoded to pixels, then encoded as JPEG XL using one high-quality setting. The result looks the same on screen, but it is a second generation, not the AVIF's original data, and it is not a lossless copy. Do it when you need JXL specifically, for a pipeline, a viewer or an archive that reads it, or when you want the JXL family's traits such as progressive decoding. Do not do it to "upgrade" an image you will keep serving as AVIF: AVIF still has the larger installed base on the web, and re-encoding a lossy file never adds detail. HDR is not carried across: on Mochify only JPG output carries an HDR gain map, so a JXL from this page comes back standard-range.
Metadata is stripped by default, GPS included, with nothing to set on this page. If you need it kept, the Mochify web app has a Strip EXIF switch and the API takes stripExif=false.
For a public website, AVIF: browser support is broad and its compression is excellent, which is why the format guide recommends it for live delivery. Chrome 155, Firefox 158 and Safari decode JPEG XL, but Edge and older installs do not, so a JXL on a public page still needs a fallback; our guide to JPEG XL in Chrome and what changes now has the dated picture. The practical JPEG XL guide covers the AVIF path and the fallback pattern. Need the universally compatible version instead? The AVIF to JPG converter makes a jpegli-encoded JPEG that opens everywhere.
Seller and Pro accounts convert up to 25 files per batch at up to 75MB each, and a Day Pass gives you 100 uploads in 24 hours for $2 with no account. The same conversion runs from the terminal with the Mochify CLI (mochify, sign in once with mochify auth login), from an AI agent through the hosted or local MCP server, and from the REST API:
curl -X POST "https://api.mochify.app/v1/squish?type=jxl" \
-H "Authorization: Bearer $MOCHIFY_KEY" \
--data-binary @image.avif \
-o image.jxl Every route converts at api.mochify.app in memory and keeps nothing. Full parameter reference in the API documentation.
Also available