Image MIME Reference
JPM
JPEG 2000 Compound Image File Format
image/jpm
VS
X Pixmap
image/x-xpixmap
XPM
A complete technical comparison of JPEG 2000 Compound Image File Format and X Pixmap — covering compression, feature support, browser compatibility, magic bytes, and when to choose each format.
Equal browser support
Feature Support
| Feature | JPM | XPM |
|---|---|---|
| Transparency (Alpha) | Yes | Yes |
| Animation Support | ✕ No | ✕ No |
| Progressive Loading | Yes | ✕ No |
| HDR Support | ✕ No | ✕ No |
| 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
X Pixmap
image/x-xpixmap
Extension
.xpm
Container
C Source Code Header (.c / .h)
Compression
Uncompressed (Source Code)
Algorithm
None
Color Depth
Indexed Color (Custom Palette with RGB and Alpha 'None')
Developed by
Daniel Dardailler and Colas Nahaboo (Bull / X Consortium)
Released
1989
Magic Bytes
2F 2A 20 58 50 4D 20 2A 2F (ASCII '/* XPM */')
Browser Support Comparison
| Browser | JPM | XPM |
|---|---|---|
|
|
✕ | ✕ |
|
|
✕ | ✕ |
|
|
✕ | ✕ |
|
|
✕ | ✕ |
|
|
✕ |
✓
|
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
XPM
XPM Strengths
- Can be compiled directly into C or C++ source code without requiring an external asset loading mechanism
- Human-readable palette mapping allows developers to inspect, modify, or hand-craft icons directly within a text editor
- Native support for color palettes and transparency via the 'None' keyword
Limitations
- Extremely inefficient storage structure for large images, resulting in massive file bloat compared to binary formats like PNG
- Completely obsolete and unsupported in modern web browsers
- Parsing overhead requires compiling or interpreting text-based color tables at runtime
When to choose which format
JPM
Use JPM when…
- Scanned Document Archiving
- Mixed Raster Content (MRC) Imaging
- Digital Libraries
XPM
Use XPM when…
- X Window System (X11) Application Icons and Cursors
- Embedded C/C++ Firmware Color UI Assets
- Early Linux Desktop Environment Themes