Free webp to jpg
Image MIME Reference
PNM

Portable Anymap

image/x-portable-anymap
VS

X Pixmap

image/x-xpixmap
XPM

A complete technical comparison of Portable Anymap and X Pixmap — covering compression, feature support, browser compatibility, magic bytes, and when to choose each format.

Equal browser support

Feature Support

Feature PNM XPM
Transparency (Alpha) ✕ No Yes
Animation Support ✕ No ✕ No
Progressive Loading ✕ No ✕ No
HDR Support ✕ No ✕ No
EXIF Metadata ✕ No ✕ No
ICC Color Profile ✕ No ✕ No
Portable Anymap
image/x-portable-anymap
Extension
.pnm
Container Netpbm
Compression Uncompressed
Algorithm
None
Color Depth 1-bit (PBM), 8-bit to 16-bit (PGM), 24-bit to 48-bit (PPM)
Developed by Jef Poskanzer (Netpbm Project)
Released 1988
Magic Bytes
50 31, 50 32, 50 33, 50 34, 50 35, or 50 36
Full PNM reference →
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 */')
Full XPM reference →

Browser Support Comparison

Browser PNM XPM
Chrome Chrome
Firefox Firefox
Safari Safari
Edge Edge
IE IE (Legacy)
PNM

PNM Strengths

  • Unparalleled simplicity: parsers and writers for PNM files can be written from scratch in C or Python in just a few minutes without relying on external libraries
  • Serves as an excellent foundational teaching tool for computer science students learning about image arrays and raster graphics
  • Flawlessly pipes through Unix command-line utilities for robust automated image processing (via the Netpbm suite)
Limitations
  • Zero compression natively results in astronomical file sizes, making it entirely impractical for web delivery or consumer storage
  • No support for standard metadata formats like EXIF, XMP, or ICC color profiles
  • No native alpha channel support in the classic PNM specification (though the newer PAM format 'P7' addresses this)
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

PNM
Use PNM when…
  • Unix/Linux Command-Line Image Processing (Netpbm suite)
  • Academic Computer Vision Research
  • Intermediary Format for Image Format Conversion
XPM
Use XPM when…
  • X Window System (X11) Application Icons and Cursors
  • Embedded C/C++ Firmware Color UI Assets
  • Early Linux Desktop Environment Themes
Share this comparison