Convert JXL to JPG
The photo is in the best format and the form, the site or the phone wants the oldest one. Decode the JPEG XL and save it as a JPG at a quality you pick. Nothing is stored.
- Never stored
- No queue, no waiting
- No signup, no watermark
How it works
Add your .jxl photos
A batch is fine. Each one is opened with the reference JPEG XL decoder.
Pick a quality
90 keeps the detail of a photograph; 80 is plenty for sharing. Transparent areas are flattened onto the colour you choose, because a JPG has no alpha.
Download
Singly or as a ZIP, each named after its original.
JPEG XL and JPEG: the same name, thirty years apart
The two formats share a committee and nothing else. JPEG (1992) splits a picture into 8×8 blocks and throws away the frequencies the eye is bad at; JPEG XL (2022) uses variable block sizes, a perceptual colour space and an entropy coder a generation newer, and lands at roughly 60 per cent of the bytes for the same visible quality — plus alpha, animation, HDR and lossless, none of which JPEG has. Converting one into the other is therefore a step down, taken because the destination insists.
The encoder here is MozJPEG rather than the browser's own: trellis quantisation, progressive scans, and full-resolution colour above quality 90, which is what keeps red text and fine detail from smearing. Where the JXL was lossy, the JPG inherits its artefacts and adds a smaller set of its own — the usual price of a second lossy pass, and why a quality above 80 is the sensible default.
Colour is converted to sRGB, which is what every JPG viewer assumes. A wide-gamut or HDR capture loses its extremes in the conversion — the most saturated reds and the brightest highlights are clipped — and the EXIF block of the original does not come across, so the JPG carries no camera data or GPS position.
When you want something else
If your .jxl files are repacked JPEGs — ones made with cjxl from a JPEG without the -d flag — djxl in.jxl out.jpg on the command line restores the original byte for byte, with no second lossy pass and no size growth. That is strictly better than anything a decoder-and-re-encoder can do.
For a camera's worth of files, djxl in a loop or ImageMagick (built with libjxl) converts a directory in one command and keeps the EXIF, which this page does not.
Frequently asked questions
Will the JPG look worse than the JXL?
A little, at the same file size: JPEG XL is a far more efficient codec, so the JPG needs more bytes to look as good. At quality 90 the difference is invisible on a screen; the file will simply be larger than the .jxl was.
Was my JXL a repacked JPEG? Can I get the original back?
Some .jxl files are an existing JPEG recompressed losslessly, and the reference tool djxl can unpack those back to the exact original. This page decodes to pixels and re-encodes instead, which is a hair lossier but works for every .jxl, repacked or not.
What happens to transparency?
A JPG has no alpha channel, so transparent pixels are flattened onto a colour you choose — white by default. If you need the transparency, convert to PNG instead.
Which quality should I use?
90 for anything you may edit or print; 80 for sharing, where it is close to indistinguishable at a third of the size; 70 if the file has to be small. Below 60 a photograph visibly degrades.
Are my files stored anywhere?
No — nothing is stored at any point.
Why does my iPhone produce JXL files?
Recent iPhones can write ProRAW and some HEIF variants with a JPEG XL payload, and some camera apps offer it directly. Apple software opens them; much else does not, and a JPG is the surest way to hand one to someone.
Good to know: HDR and 16-bit JPEG XL files are tone-mapped to 8-bit sRGB, so the brightest highlights of an HDR capture come out flatter than on an HDR screen. An animated .jxl converts as its first frame.
Put this tool on your website
Free for any blog, class page or help article. Paste one snippet and your visitors can use it right on your page.
More Image tools
JXL to PNG
JPEG XL files as PNG, for everything that cannot open them yet
JPG to AVIF
Half the bytes of JPG, same picture
Compress Image
Smaller files with a live before/after
WebP to GIF
An animated WebP as a GIF that moves everywhere, every frame kept
APNG to GIF
Animated PNGs as GIFs, for the places that still only play GIF
JPG to PNG
Lossless PNG from any JPG, in batches