Free webp to jpg
Image MIME Reference
KTX2

Khronos Texture 2.0

image/ktx2
VS

X Pixmap

image/x-xpixmap
XPM

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

Equal browser support

Feature Support

Feature KTX2 XPM
Transparency (Alpha) Yes Yes
Animation Support ✕ No ✕ No
Progressive Loading ✕ No ✕ No
HDR Support Yes ✕ No
EXIF Metadata ✕ No ✕ No
ICC Color Profile ✕ No ✕ No
Khronos Texture 2.0
image/ktx2
Extension
.ktx2
Container KTX 2.0
Compression Basis Universal (ETC1S / UASTC) / Zstandard (zstd) Supercompression / Uncompressed
Algorithm
ETC1SUASTCZstandard (zstd)Raw GPU Formats (ASTC, BCn)
Color Depth 8-bit, 16-bit, 32-bit (Float)
Developed by Khronos Group
Released 2021
Magic Bytes
AB 4B 54 58 20 32 30 BB 0D 0A 1A 0A
Full KTX2 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 KTX2 XPM
Chrome Chrome
Firefox Firefox
Safari Safari
Edge Edge
IE IE (Legacy)
KTX2

KTX2 Strengths

  • Universal hardware compatibility: write once, transcode anywhere to the target GPU's preferred format (ASTC, BC7, PVRTC, etc.)
  • Drastically reduces transmission size over networks thanks to Basis Universal and Zstandard supercompression
  • Seamless integration with the glTF ecosystem for optimized 3D asset delivery
Limitations
  • Requires WebAssembly (Wasm) decoders and JavaScript loaders for web viewing, increasing initial application payload slightly
  • Encoding textures into high-quality Basis Universal UASTC can be computationally intensive and slow
  • Zero support in traditional 2D image viewers or native OS previews
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

KTX2
Use KTX2 when…
  • glTF 3D Models (KHR_texture_basisu)
  • WebGPU and WebGL Applications
  • Game Engines (Unity, Unreal, Godot)
  • Augmented and Virtual Reality (AR/VR)
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