Free webp to jpg
JXL

JPEG XL

image/jxl Released 2021 · by Joint Photographic Experts Group (JPEG)

JPEG XL is a modern, royalty-free raster image format designed to outperform and eventually replace legacy formats like JPEG, PNG, and GIF. It offers phenomenal lossless and lossy compression, high dynamic range (HDR) support, progressive decoding, and the unique ability to losslessly recompress existing JPEG files by ~20%.

Web & Photography Transparency Animation Progressive ✦ HDR Production Ready

Technical Specifications

MIME Type
image/jxl
Extensions
.jxl
Container
ISOBMFF / JPEG XL Codestream
Compression
Lossy (VarDCT) & Lossless (Modular)
Algorithms
VarDCT (Variable block-size DCT)Modular (Predictive coding for lossless)
Color Depth
8-bit, 10-bit, 12-bit, 16-bit, 32-bit (Float)
Metadata
EXIF XMP ICC
Capabilities
Transparency
Animation
Progressive Loading
Alpha Channel
HDR Support

Magic Bytes & HTTP Headers

File Signature (Magic Bytes)
FF 0A (Codestream) / 00 00 00 0C 4A 58 4C 20 0D 0A 87 0A (Container)
ASCII: ÿ / ....JXL ....
HTTP Headers
Content-Type: image/jxl
HTML Accept Attribute
accept="image/jxl, .jxl"

Browser Support Matrix

Browser Status Min Version
Chrome Chrome
Not Supported
Firefox Firefox
Not Supported
Safari Safari
Supported 17+
Edge Edge
Not Supported
Internet Explorer Internet Explorer
Not Supported Legacy

Advantages & Limitations

Advantages
  • Capable of losslessly recompressing legacy JPEG files, saving ~20% space while retaining perfect byte-for-byte restorability
  • Highly superior progressive decoding (Saliency-driven), allowing recognizable images to load extremely fast on slow connections
  • Outperforms WebP and competes favorably with AVIF, especially at high-fidelity settings and for complex textures/photography
  • Royalty-free with an open-source reference implementation (libjxl)
Limitations
  • Google's removal of JXL support from Chrome severely hindered its adoption as a universal web standard
  • Lack of hardware decoding chips compared to video-derived codecs like AVIF (AV1)
  • File parsing logic is complex due to the split between raw codestreams and ISOBMFF containers

Developer Code Snippets

import magic
print(magic.from_file('photo.jxl', mime=True)) # Outputs 'image/jxl' with updated magic database
const FileType = require('file-type');
const type = await FileType.fromFile('photo.jxl');
console.log(type.mime); // image/jxl
import "net/http"
// Requires custom byte matching for FF 0A or the 12-byte JXL container box.
$mime = mime_content_type('photo.jxl');
echo $mime; // image/jxl (if magic.mime is up to date)

File Detection Steps

How to programmatically detect a image/jxl file by reading its raw bytes:

  1. 1 Check the first two bytes for 'FF 0A' to identify a raw codestream
  2. 2 Check the first 12 bytes for the container signature: 00 00 00 0C 4A 58 4C 20 0D 0A 87 0A

Software Support

ImageMagick ImageMagick
A
Affinity Photo
A
Adobe Camera Raw / Lightroom
K
Krita
GIMP GIMP

Conversion Tools

Share & Embed

Markdown Badge
JXL Format Badge
[![JXL Format](https://freewebptojpg.com/mime/image/jxl/badge.svg)](https://freewebptojpg.com/mime/image/jxl)
Interactive iframe Widget
<iframe src="https://freewebptojpg.com/mime/image/jxl/embed" width="100%" height="280" style="border:1px solid #cbd5e1;border-radius:8px;" title="JXL Specs"></iframe>

JSON API

All data on this page is available as a free, open JSON API. Use it in your project, documentation, or tooling.

GET https://freewebptojpg.com/mime/image/jxl.json Open JSON
Free to use
No auth required
CORS enabled
Use from any domain
Cached 24h
Cache-Control headers set

Frequently Asked Questions

What is the magic byte for JPEG XL?

JPEG XL files can exist as raw codestreams or within an ISOBMFF-based container. Raw codestreams begin with FF 0A. Containerized JXL files begin with a 12-byte signature: 00 00 00 0C 4A 58 4C 20 0D 0A 87 0A (which includes the string 'JXL ').

Can JPEG XL really compress existing JPEGs losslessly?

Yes! One of JXL's most unique features is its ability to take an existing legacy JPEG and recompress it losslessly into a JXL file, typically saving about 20% in file size. The exact original JPEG can be fully restored byte-for-byte from the JXL file.

Do web browsers support JPEG XL?

Support is mixed. Apple added full native support for JPEG XL in Safari 17 (iOS 17 and macOS Sonoma). However, Google controversially removed experimental support from Chrome in early 2023, and Mozilla Firefox currently keeps it hidden behind a developer flag.

Related Formats

Share this format