Image MIME Reference
WMF
Windows Metafile
image/x-wmf
VS
X Pixmap
image/x-xpixmap
XPM
A complete technical comparison of Windows Metafile and X Pixmap — covering compression, feature support, browser compatibility, magic bytes, and when to choose each format.
Equal browser support
Feature Support
| Feature | WMF | XPM |
|---|---|---|
| Transparency (Alpha) | Yes | Yes |
| Animation Support | ✕ No | ✕ No |
| Progressive Loading | ✕ No | ✕ No |
| HDR Support | ✕ No | ✕ No |
| EXIF Metadata | ✕ No | ✕ No |
| ICC Color Profile | ✕ No | ✕ No |
Windows Metafile
image/x-wmf
Extension
.wmf.emf
Container
Windows GDI Metafile Command Stream
Compression
Uncompressed (Command Stream)
Algorithm
None
Color Depth
Varies based on GDI rendering engine
Developed by
Microsoft Corporation
Released
1990
Magic Bytes
D7 CD C6 9A (Aldus Placeable Metafile Header) or 01 00 09 00 (Standard WMF Header)
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 | WMF | XPM |
|---|---|---|
|
|
✕ | ✕ |
|
|
✕ | ✕ |
|
|
✕ | ✕ |
|
|
✕ | ✕ |
|
|
✓
|
✓
|
WMF
WMF Strengths
- Infinitely scalable vector format that remains remarkably compact for simple geometric illustrations and charts
- Historically served as a seamless conduit for copying and pasting vector graphics between disparate Windows applications via the system clipboard
Limitations
- Notoriously plagued by historic security vulnerabilities, making raw WMF parsing a vector for exploits in legacy software
- Completely obsolete and unsupported in modern web environments (browsers cannot render them)
- Strictly tied to the Windows GDI architecture, making cross-platform rendering inconsistent across Linux and macOS
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
WMF
Use WMF when…
- Legacy Microsoft Office Clip Art and Icons
- Windows GDI Graphics Export
- Early Windows Desktop Publishing
XPM
Use XPM when…
- X Window System (X11) Application Icons and Cursors
- Embedded C/C++ Firmware Color UI Assets
- Early Linux Desktop Environment Themes