Image MIME Reference
KTX2
Khronos Texture 2.0
image/ktx2
VS
Portable Bitmap
image/x-portable-bitmap
PBM
A complete technical comparison of Khronos Texture 2.0 and Portable Bitmap — covering compression, feature support, browser compatibility, magic bytes, and when to choose each format.
Equal browser support
Feature Support
| Feature | KTX2 | PBM |
|---|---|---|
| Transparency (Alpha) | Yes | ✕ No |
| 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
Portable Bitmap
image/x-portable-bitmap
Extension
.pbm
Container
Netpbm
Compression
Uncompressed
Algorithm
None
Color Depth
1-bit (Monochrome)
Developed by
Jef Poskanzer (Netpbm Project)
Released
1988
Magic Bytes
50 31 (ASCII) or 50 34 (Binary)
Browser Support Comparison
| Browser | KTX2 | PBM |
|---|---|---|
|
|
✕ | ✕ |
|
|
✕ | ✕ |
|
|
✕ | ✕ |
|
|
✕ | ✕ |
|
|
✕ | ✕ |
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
PBM
PBM Strengths
- Absolute structural simplicity allows parsers to be written from scratch with just a few lines of code
- ASCII encoding allows manual editing and debugging directly within a standard text editor
- Serves as a flawless, lossless intermediary for 1-bit raster data like scanned documents or barcodes
Limitations
- Strictly limited to 1-bit monochrome images; cannot natively display shades of gray or color
- Lack of compression results in extremely large file sizes, particularly when using the ASCII 'P1' encoding
- No support for alpha transparency or modern metadata standards like EXIF
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)
PBM
Use PBM when…
- Optical Character Recognition (OCR) Pre-processing
- Unix/Linux Command-Line Image Pipelines
- Academic Image Processing Teaching