Free webp to jpg
Image MIME Reference
PPM

Portable Pixmap

image/x-portable-pixmap
VS

X Pixmap

image/x-xpixmap
XPM

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

Equal browser support

Feature Support

Feature PPM XPM
Transparency (Alpha) ✕ No Yes
Animation Support ✕ No ✕ No
Progressive Loading ✕ No ✕ No
HDR Support Yes ✕ No
EXIF Metadata ✕ No ✕ No
ICC Color Profile ✕ No ✕ No
Portable Pixmap
image/x-portable-pixmap
Extension
.ppm
Container Netpbm
Compression Uncompressed
Algorithm
None
Color Depth 24-bit (RGB), 48-bit (RGB High Color)
Developed by Jef Poskanzer (Netpbm Project)
Released 1988
Magic Bytes
50 33 (ASCII) or 50 36 (Binary)
Full PPM 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 PPM XPM
Chrome Chrome
Firefox Firefox
Safari Safari
Edge Edge
IE IE (Legacy)
PPM

PPM Strengths

  • Absolute structural simplicity allows parsers and renderers (such as custom raytracers) to write directly to the format with virtually no overhead or external libraries
  • Supports 16-bit per channel (48-bit total) precision, preserving deep color accuracy before converting to final delivery formats
  • ASCII encoding ('P3') allows manual editing and visual inspection of RGB values directly within a text editor
Limitations
  • Zero compression results in astronomical file sizes, making it entirely impractical for web delivery or consumer storage
  • Does not natively support an alpha channel for transparency (this is handled by the newer PAM extension format within the Netpbm suite)
  • Lacks support for modern metadata standards like EXIF, XMP, or embedded ICC color profiles
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

PPM
Use PPM when…
  • Intermediary Format for Image Format Conversion
  • Academic Computer Graphics and Raytracing Output
  • Unix/Linux Command-Line Image Pipelines
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