Image MIME Reference
XPM
X Pixmap
image/x-xpixmap
VS
Pixologic ZBrush PCX
image/vnd.zbrush.pcx
ZBrush-PCX
A complete technical comparison of X Pixmap and Pixologic ZBrush PCX — covering compression, feature support, browser compatibility, magic bytes, and when to choose each format.
Equal browser support
Feature Support
| Feature | XPM | ZBrush-PCX |
|---|---|---|
| Transparency (Alpha) | Yes | ✕ No |
| Animation Support | ✕ No | ✕ No |
| Progressive Loading | ✕ No | ✕ No |
| HDR Support | ✕ No | ✕ No |
| EXIF Metadata | ✕ No | ✕ No |
| ICC Color Profile | ✕ No | ✕ No |
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 */')
Pixologic ZBrush PCX
image/vnd.zbrush.pcx
Extension
.pcx
Container
ZSoft PCX
Compression
Run-Length Encoding (RLE)
Algorithm
ZSoft Run-Length Encoding (RLE)
Color Depth
8-bit (Grayscale), 24-bit (RGB)
Developed by
ZSoft (Format) / Pixologic (MIME Registration)
Released
1985
Magic Bytes
0A 05 01 08
Browser Support Comparison
| Browser | XPM | ZBrush-PCX |
|---|---|---|
|
|
✕ | ✕ |
|
|
✕ | ✕ |
|
|
✕ | ✕ |
|
|
✕ | ✕ |
|
|
✓
|
✕ |
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
ZBrush-PCX
ZBrush-PCX Strengths
- Extremely simple, lossless RLE compression makes it trivial to parse and encode programmatically
- Universally supported by almost every 2D image editor created since the 1990s
Limitations
- Completely obsolete for modern 3D workflows, which require 16-bit or 32-bit floating-point precision (like OpenEXR or TIFF) to avoid stepping artifacts in displacement maps
- No support for modern metadata (EXIF/XMP) or native alpha channels
- Zero native support in modern web browsers
When to choose which format
XPM
Use XPM when…
- X Window System (X11) Application Icons and Cursors
- Embedded C/C++ Firmware Color UI Assets
- Early Linux Desktop Environment Themes
ZBrush-PCX
Use ZBrush-PCX when…
- Legacy ZBrush Alpha Brushes
- 8-bit Grayscale Displacement Maps
- ZBrush Texture Exports