Skip to content

JXL (.jxl)

.jxl file signature | image/jxl

JPEG XL (JXL) is an image file format developed by the Joint Photographic Experts Group and maintained through the JPEG committee standardization process. It is used for web graphics, digital photography, and archival storage, with support for lossless and lossy compression, transparency, and wide color gamuts. It is not a legacy format, but untrusted files should still be opened with current software because image decoders can contain vulnerabilities.

Safe

Magic Bytes

Offset 0
00 00 00 0C 4A 58 4C 20 0D 0A 87 0A

Sources: Apache Tika, Wikipedia

All Known Signatures

2 signature variants are documented for .jxl files across multiple sources.

Hex Signature Offset Sources
00 00 00 0C 4A 58 4C 20 0D 0A 87 0A 0 Apache Tika, Wikipedia
FF 0A 0 Apache Tika

Extension

.jxl

MIME Type

image/jxl

Byte Offset

0

Risk Level

Safe

Validation Code

How to validate .jxl files in Python

Python
def is_jxl(file_path: str) -> bool:
    """Check if file is a valid JXL by magic bytes."""
    signature = bytes([0x00, 0x00, 0x00, 0x0C, 0x4A, 0x58, 0x4C, 0x20, 0x0D, 0x0A, 0x87, 0x0A])
    with open(file_path, "rb") as f:
        return f.read(12) == signature

How to validate .jxl files in Node.js

Node.js
function isJXL(buffer: Buffer): boolean {
  const signature = Buffer.from([0x00, 0x00, 0x00, 0x0C, 0x4A, 0x58, 0x4C, 0x20, 0x0D, 0x0A, 0x87, 0x0A]);
  return buffer.subarray(0, 12).equals(signature);
}

How to validate .jxl files in Go

Go
func IsJXL(data []byte) bool {
    signature := []byte{0x00, 0x00, 0x00, 0x0C, 0x4A, 0x58, 0x4C, 0x20, 0x0D, 0x0A, 0x87, 0x0A}
    if len(data) < 12 {
        return false
    }
    return bytes.Equal(data[:12], signature)
}

API Endpoint

GET /api/v1/jxl
curl https://filesignature.org/api/v1/jxl

See the full API documentation for all endpoints and parameters.

Related Formats

Frequently Asked Questions

What is a .jxl file?

A .jxl file is identified by the magic bytes 00 00 00 0C 4A 58 4C 20 0D 0A 87 0A at byte offset 0. JPEG XL (JXL) is an image file format developed by the Joint Photographic Experts Group and maintained through the JPEG committee standardization process. It is used for web graphics, digital photography, and archival storage, with support for lossless and lossy compression, transparency, and wide color gamuts. It is not a legacy format, but untrusted files should still be opened with current software because image decoders can contain vulnerabilities.

What are the magic bytes for .jxl files?

The magic bytes for JXL files are 00 00 00 0C 4A 58 4C 20 0D 0A 87 0A at byte offset 0. These bytes uniquely identify the file format regardless of the file extension.

How do I validate a .jxl file?

To validate a .jxl file, read the first bytes of the file and compare them against the known magic bytes (00 00 00 0C 4A 58 4C 20 0D 0A 87 0A) at offset 0. This is more reliable than checking the file extension alone, as extensions can be renamed.

What is the MIME type for .jxl files?

The primary MIME type for .jxl files is image/jxl.

Is it safe to open .jxl files?

JXL (.jxl) files are generally safe to open. They are classified as low risk because they primarily contain data rather than executable code. However, always ensure files come from a trusted source.