Image MIME Reference
CGM
Computer Graphics Metafile
image/cgm
VS
Khronos Texture
image/ktx
KTX
A complete technical comparison of Computer Graphics Metafile and Khronos Texture — covering compression, feature support, browser compatibility, magic bytes, and when to choose each format.
Equal browser support
Feature Support
| Feature | CGM | KTX |
|---|---|---|
| Transparency (Alpha) | Yes | Yes |
| Animation Support | ✕ No | ✕ No |
| Progressive Loading | ✕ No | ✕ No |
| HDR Support | ✕ No | Yes |
| EXIF Metadata | ✕ No | ✕ No |
| ICC Color Profile | Yes | ✕ No |
Computer Graphics Metafile
image/cgm
Extension
.cgm
Container
CGM
Compression
Uncompressed / Binary / Character / Clear Text
Algorithm
Deflate (in some WebCGM profiles)
Color Depth
8-bit, 16-bit, 24-bit, 32-bit
Developed by
ISO / IEC
Released
1987
Magic Bytes
00 20 (Binary) / 42 45 47 49 4E 20 4D 45 54 41 46 49 4C 45 (Clear Text)
Khronos Texture
image/ktx
Extension
.ktx
Container
KTX (Khronos Texture 1.1)
Compression
Uncompressed / GPU Compressed (ASTC, ETC, BCn, PVRTC)
Algorithm
ASTCETC1 / ETC2BCn (DXT)PVRTCBasis Universal (in KTX2)
Color Depth
8-bit, 16-bit, 32-bit (Integer/Float)
Developed by
Khronos Group
Released
2010
Magic Bytes
AB 4B 54 58 20 31 31 BB 0D 0A 1A 0A
Browser Support Comparison
| Browser | CGM | KTX |
|---|---|---|
|
|
✕ | ✕ |
|
|
✕ | ✕ |
|
|
✕ | ✕ |
|
|
✕ | ✕ |
|
|
✕ | ✕ |
CGM
CGM Strengths
- Strictly standardized by ISO, ensuring long-term archiving and cross-platform compatibility in engineering
- Excellent support for rich metadata, hyperlinks, and technical hotspots via the WebCGM profile
- Can store complex 2D geometry, rasters, and text in a single lightweight file
Limitations
- Multiple encoding schemes (Binary, Character, Clear Text) make parser development difficult
- Zero native support in modern web browsers without third-party plugins
- Largely replaced by SVG for general-purpose 2D vector graphics on the web
KTX
KTX Strengths
- Enables direct-to-GPU texture uploading, drastically reducing load times and CPU overhead in 3D applications
- Supports complex texture types natively (mipmaps, cubemaps, 3D volumes, texture arrays)
- Standardized across major Khronos APIs (OpenGL, Vulkan, WebGL) unlike vendor-specific formats like DDS
Limitations
- Requires custom JavaScript loaders to parse and display on the web
- Zero native support in consumer image viewers or 2D photo editing software
- Format fragmentation: a KTX file containing an ASTC payload will fail to render on hardware that only supports BCn compression (KTX2 and Basis Universal solve this)
When to choose which format
CGM
Use CGM when…
- Technical Illustrations
- Aerospace & Defense (S1000D)
- CAD/CAM
- Geophysics
KTX
Use KTX when…
- Real-time 3D Graphics
- WebGL / WebGPU Applications
- Mobile Games
- Virtual/Augmented Reality (VR/AR)