Image MIME Reference
JXL
JPEG XL
image/jxl
VS
Khronos Texture
image/ktx
KTX
A complete technical comparison of JPEG XL and Khronos Texture — covering compression, feature support, browser compatibility, magic bytes, and when to choose each format.
JXL wins on browser support
Feature Support
| Feature | JXL | KTX |
|---|---|---|
| Transparency (Alpha) | Yes | Yes |
| Animation Support | Yes | ✕ No |
| Progressive Loading | Yes | ✕ No |
| HDR Support | Yes | Yes |
| EXIF Metadata | Yes | ✕ No |
| ICC Color Profile | Yes | ✕ No |
JPEG XL
image/jxl
Extension
.jxl
Container
ISOBMFF / JPEG XL Codestream
Compression
Lossy (VarDCT) / Lossless (Modular)
Algorithm
VarDCT (Variable block-size DCT)Modular (Predictive coding for lossless)
Color Depth
8-bit, 10-bit, 12-bit, 16-bit, 32-bit (Float)
Developed by
Joint Photographic Experts Group (JPEG)
Released
2021
Magic Bytes
FF 0A (Codestream) / 00 00 00 0C 4A 58 4C 20 0D 0A 87 0A (Container)
Khronos Texture
image/ktx
Extension
.ktx
Container
KTX (Khronos Texture 1.1)
Compression
Uncompressed / GPU Compressed (ASTC, ETC, BCn, PVRTC)
Algorithm
ASTCETC1 / ETC2BCn (DXT)PVRTCBasis Universal (in KTX2)
Color Depth
8-bit, 16-bit, 32-bit (Integer/Float)
Developed by
Khronos Group
Released
2010
Magic Bytes
AB 4B 54 58 20 31 31 BB 0D 0A 1A 0A
Browser Support Comparison
| Browser | JXL | KTX |
|---|---|---|
|
|
✕ | ✕ |
|
|
✕ | ✕ |
|
|
✓ 17+
|
✕ |
|
|
✕ | ✕ |
|
|
✕ | ✕ |
JXL
JXL Strengths
- 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
KTX
KTX Strengths
- Enables direct-to-GPU texture uploading, drastically reducing load times and CPU overhead in 3D applications
- Supports complex texture types natively (mipmaps, cubemaps, 3D volumes, texture arrays)
- Standardized across major Khronos APIs (OpenGL, Vulkan, WebGL) unlike vendor-specific formats like DDS
Limitations
- Requires custom JavaScript loaders to parse and display on the web
- Zero native support in consumer image viewers or 2D photo editing software
- Format fragmentation: a KTX file containing an ASTC payload will fail to render on hardware that only supports BCn compression (KTX2 and Basis Universal solve this)
When to choose which format
JXL
Use JXL when…
- High-End Web Delivery (via Safari/Polyfills)
- HDR Photography
- Legacy JPEG Archiving
- Digital Art & Image Storage
KTX
Use KTX when…
- Real-time 3D Graphics
- WebGL / WebGPU Applications
- Mobile Games
- Virtual/Augmented Reality (VR/AR)