Image MIME Reference
PGM
Portable Graymap
image/x-portable-graymap
VS
GIMP Image Format
image/x-xcf
XCF
A complete technical comparison of Portable Graymap and GIMP Image Format — covering compression, feature support, browser compatibility, magic bytes, and when to choose each format.
Equal browser support
Feature Support
| Feature | PGM | XCF |
|---|---|---|
| Transparency (Alpha) | ✕ No | Yes |
| Animation Support | ✕ No | Yes |
| Progressive Loading | ✕ No | ✕ No |
| HDR Support | Yes | Yes |
| EXIF Metadata | ✕ No | Yes |
| ICC Color Profile | ✕ No | Yes |
Portable Graymap
image/x-portable-graymap
Extension
.pgm
Container
Netpbm
Compression
Uncompressed
Algorithm
None
Color Depth
8-bit (Grayscale), 16-bit (Grayscale)
Developed by
Jef Poskanzer (Netpbm Project)
Released
1988
Magic Bytes
50 32 (ASCII) or 50 35 (Binary)
GIMP Image Format
image/x-xcf
Extension
.xcf
Container
GIMP Hierarchical Chunk Container
Compression
None / RLE (Run-Length Encoding) / Zlib / Deflate (In newer GIMP versions)
Algorithm
NoneRLEZlib
Color Depth
8-bit per channel, 16-bit per channel, 32-bit floating point
Developed by
Spencer Kimball, Peter Mattis, and the GIMP Development Team
Released
1995
Magic Bytes
67 69 6D 70 20 78 63 66
Browser Support Comparison
| Browser | PGM | XCF |
|---|---|---|
|
|
✕ | ✕ |
|
|
✕ | ✕ |
|
|
✕ | ✕ |
|
|
✕ | ✕ |
|
|
✕ | ✕ |
PGM
PGM Strengths
- Extremely simple format allows custom parsers to be written from scratch in minimal time
- Supports 16-bit precision, making it highly valuable for scientific, medical, and height-map data where 8-bit precision is insufficient
- ASCII encoding ('P2') allows manual editing and visual inspection of pixel values directly within a text editor
Limitations
- Strictly limited to grayscale; cannot display color
- Lack of compression results in massive file sizes, making it entirely impractical for web delivery or consumer storage
- Does not support alpha transparency or modern metadata structures
XCF
XCF Strengths
- Preserves all non-destructive editing elements, layer hierarchies, masks, and alpha channels across GIMP sessions
- Open and thoroughly documented specification within the open-source community, allowing third-party tools like Krita and ImageMagick to read project files
- Reliable magic byte header prevents misidentification
Limitations
- Massive file sizes because raw, unflattened layer bitmaps and masks are stored directly within the project archive
- Completely proprietary to the GIMP ecosystem for deep editing; cannot be natively rendered or parsed by web browsers
- Third-party software supporting XCF may occasionally struggle to render complex text layer adjustments or advanced layer blend modes identically to GIMP
When to choose which format
PGM
Use PGM when…
- Computer Vision and Machine Learning Pre-processing
- Scientific and Medical Image Processing
- Unix/Linux Command-Line Image Pipelines
XCF
Use XCF when…
- GIMP Native Project Archival
- Layered Photo Editing and Graphic Design
- Intermediary Asset Preparation for Export