Microsoft Compiled HTML Help File (.chm)
.chm file signature | application/vnd.ms-htmlhelp
Microsoft Compiled HTML Help (CHM) is a proprietary help file format developed by Microsoft for packaging hypertext documentation in a single compressed file. It is used by software applications, online manuals, and technical reference systems, and is typically opened with the Windows HTML Help viewer or compatible third-party tools. The format is legacy in many environments, and CHM files from untrusted sources should be handled cautiously because they can contain active content and embedded links.
Magic Bytes
Offset 0
49 54 53 46
Sources: Apache Tika, Gary Kessler, Neil Harvey FileSignatures
All Known Signatures
3 signature variants are documented for .chm files across multiple sources.
| Hex Signature | Offset | Sources |
|---|---|---|
| 49 54 53 46 | 0 | Apache Tika, Gary Kessler, Neil Harvey FileSignatures |
| 49 54 53 46 03 00 00 00 | 0 | Wikipedia |
| 60 00 00 00 | 0 | Wikipedia |
Extension
.chm
MIME Type
application/vnd.ms-htmlhelp
Byte Offset
0
Risk Level
Safe
Validation Code
How to validate .chm files in Python
def is_chm(file_path: str) -> bool:
"""Check if file is a valid CHM by magic bytes."""
signature = bytes([0x49, 0x54, 0x53, 0x46])
with open(file_path, "rb") as f:
return f.read(4) == signature
How to validate .chm files in Node.js
function isCHM(buffer: Buffer): boolean {
const signature = Buffer.from([0x49, 0x54, 0x53, 0x46]);
return buffer.subarray(0, 4).equals(signature);
}
How to validate .chm files in Go
func IsCHM(data []byte) bool {
signature := []byte{0x49, 0x54, 0x53, 0x46}
if len(data) < 4 {
return false
}
return bytes.Equal(data[:4], signature)
}
API Endpoint
/api/v1/chm
curl https://filesignature.org/api/v1/chm
See the full API documentation for all endpoints and parameters.
Related Formats
Frequently Asked Questions
What is a .chm file?
A .chm file is a Microsoft Compiled HTML Help File file. Microsoft Compiled HTML Help (CHM) is a proprietary help file format developed by Microsoft for packaging hypertext documentation in a single compressed file. It is used by software applications, online manuals, and technical reference systems, and is typically opened with the Windows HTML Help viewer or compatible third-party tools. The format is legacy in many environments, and CHM files from untrusted sources should be handled cautiously because they can contain active content and embedded links.
What are the magic bytes for .chm files?
The magic bytes for Microsoft Compiled HTML Help File files are 49 54 53 46 at byte offset 0. These bytes uniquely identify the file format regardless of the file extension.
How do I validate a .chm file?
To validate a .chm file, read the first bytes of the file and compare them against the known magic bytes (49 54 53 46) at offset 0. This is more reliable than checking the file extension alone, as extensions can be renamed.
What is the MIME type for .chm files?
The primary MIME type for .chm files is application/vnd.ms-htmlhelp.
Is it safe to open .chm files?
Microsoft Compiled HTML Help File (.chm) files are generally safe to open. They are classified as low risk because they primarily contain data rather than executable code. However, always ensure files come from a trusted source.