K
Free · Runs in your browser

The format that replaces JPEG

JPEG turns thirty-four this year. JPEG XL is the standard built to succeed it: the same picture at a noticeably smaller size, and it finally shipped in browsers. Convert your images to .jxl and see the difference in bytes — or drop a .jxl someone sent you and get a PNG back.

Your images are never uploaded. The encoder is WebAssembly, running on your own machine.

Nothing is uploaded — the encoder runs on your machine

Drop your images here

JPG, PNG, WebP or GIF to convert — or a .jxl file to turn back into PNG. Up to 20 at once.

Will the file I get actually open?

Not everywhere yet. Safari has read JPEG XL since version 17, and Chrome and Firefox only switch it on in their newest releases — around one browser in six worldwide today, climbing fast. If a picture has to work for everyone right now, WebP is still the safer choice. If you receive a .jxl you can't open, drop it in above and you'll get a PNG.

What “keep every pixel” does

It encodes losslessly from the image's pixels. That is not the same as JPEG recompression — the trick where an existing JPEG is repacked about 20% smaller and can be restored bit-for-bit. libjxl can do that, but the WebAssembly build behind this tool encodes from pixels only, so that mode isn't offered here rather than half-offered.

How this works

libjxl, the reference JPEG XL encoder, compiled to WebAssembly and run in a Web Worker so the page stays responsive while it works. The codec is fetched only when you convert your first file, and your images are read into memory and never sent anywhere.