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.
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
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
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
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
/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.