Image MIME Reference
JPM
JPEG 2000 Compound Image File Format
image/jpm
VS
Khronos Texture
image/ktx
KTX
A complete technical comparison of JPEG 2000 Compound Image File Format and Khronos Texture — covering compression, feature support, browser compatibility, magic bytes, and when to choose each format.
Equal browser support
Feature Support
| Feature | JPM | KTX |
|---|---|---|
| Transparency (Alpha) | Yes | Yes |
| Animation Support | ✕ No | ✕ No |
| Progressive Loading | Yes | ✕ No |
| HDR Support | ✕ No | Yes |
| EXIF Metadata | Yes | ✕ No |
| ICC Color Profile | Yes | ✕ No |
JPEG 2000 Compound Image File Format
image/jpm
Extension
.jpm.jpgm
Container
ISOBMFF / JPM (ISO/IEC 15444-6)
Compression
Lossy / Lossless / Mixed Raster Content (MRC)
Algorithm
JPEG 2000JBIG2JPEGMMR
Color Depth
1-bit (Text/Masks), 8-bit, 16-bit, 24-bit
Developed by
Joint Photographic Experts Group (JPEG)
Released
2003
Magic Bytes
00 00 00 0C 6A 50 20 20 0D 0A 87 0A ... 66 74 79 70 6A 70 6D 20
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 | JPM | KTX |
|---|---|---|
|
|
✕ | ✕ |
|
|
✕ | ✕ |
|
|
✕ | ✕ |
|
|
✕ | ✕ |
|
|
✕ | ✕ |
JPM
JPM Strengths
- Highly optimized for scanned documents, drastically reducing file sizes without sacrificing the readability of text or the quality of embedded photos
- Supports multi-page documents within a single file
- Object-based architecture allows for complex layout representation and independent extraction of elements
Limitations
- Failed to achieve widespread adoption, largely being overshadowed by PDF/A and DjVu
- Zero native web browser compatibility
- Requires complex, specialized software to properly encode and decode the multi-layered MRC structure
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
JPM
Use JPM when…
- Scanned Document Archiving
- Mixed Raster Content (MRC) Imaging
- Digital Libraries
KTX
Use KTX when…
- Real-time 3D Graphics
- WebGL / WebGPU Applications
- Mobile Games
- Virtual/Augmented Reality (VR/AR)