Remove Metadata From JPEG XL (JXL) Images
08 A format you probably don't have many files in yet - and that's honest
JPEG XL is a genuinely capable successor to JPEG - better compression, true progressive decoding, and
lossless JPEG recompression among its features - but as of 2026 it's supported natively only in Safari
(and there, only partially - no animation, no progressive decoding), with Chrome shipping a decoder
behind a flag rather than on by default. Realistically, if you have a .jxl file today, it's
probably from a photography workflow or an archival export, not something a phone produced automatically
the way HEIC is for iPhone. This page exists because the format matters, not because most people are
holding JXL files right now.
Go deeper: why this is the simplest exotic format to support, technically
Unlike HEIC (needs a separate JavaScript decoder library) or AVIF (leans on the browser's own native decode support), JPEG XL has a genuine pure-Rust decoder - the same kind of technology Chrome itself adopted for its own JXL support in 2026. That means JXL support here plugs directly into the same engine every other format uses, with no separate bridge. The one honest caveat: that decoder's internal threading library hasn't been independently confirmed to behave correctly compiled to WebAssembly specifically - if JXL files fail to process while everything else on this site works fine, that's the likely reason, and it wouldn't affect any other format.
Decode-only, by design
There's no mature pure-Rust JPEG XL encoder yet, so JXL input always becomes a PNG on output here - the same pattern already used for SVG and HEIC. Every metadata field and structural check this site performs on any other format applies the same way once the file has been decoded to pixels.