Microsoft Compiled HTML Help is a Microsoft proprietary online help format, consisting of a collection of HTML pages, an index and other navigation tools. The files are compressed and deployed in a binary format with the extension .CHM, for Compiled HTML. The format is often used for software documentation.
Filename extension |
.chm
|
---|---|
Internet media type |
application/vnd.ms-htmlhelp[1]
|
Developed by | Microsoft |
Initial release | 1997 |
Latest release | 1.4[2] |
Extended to | .lit |
Developer(s) | Microsoft |
---|---|
Operating system | Microsoft Windows |
Predecessor | Microsoft WinHelp |
Successor | Microsoft Help 2 |
Type | Help system |
It was introduced as the successor to Microsoft WinHelp with the release of Windows 95 OSR 2.5[3] and consequently, Windows 98. Within the Windows NT family, the CHM file support is introduced in Windows NT 4.0[4][5][6] and is still supported in Windows 11.[7] Although the format was designed by Microsoft, it has been successfully reverse-engineered and is now supported in many document viewer applications.
Month | Year | Description |
---|---|---|
February | 1996 | Microsoft announces plans to stop development of WinHelp and start development on HTML Help. |
August | 1997 | HTML Help 1.0 (HH 1.0) is released with Internet Explorer 4. |
February | 1998 | HTML Help 1.1a ships with Windows 98. |
January | 2000 | HTML Help 1.3 ships with Windows 2000. |
July | HTML Help 1.32 releases with Internet Explorer 5.5 and Windows Me. | |
October | 2001 | HTML Help 1.33 releases with Internet Explorer 6 and Windows XP. |
March | At the WritersUA (formerly WinWriters) conference, Microsoft announces plans for a new help platform, Help 2, which is also HTML based. | |
January | 2003 | Microsoft decides not to release Microsoft Help 2 as a general Help platform. |
Microsoft has announced that they do not intend to add any new features to HTML Help.[8]
Help is delivered as a binary file with the .chm extension. It contains a set of HTML files, a hyperlinked table of contents, and an index file. The file format has been reverse-engineered and documentation of it is freely available.[9][10]
The file starts with bytes "ITSF" (inASCII), for "Info-Tech Storage Format", which is the internal name given by Microsoft to the generic storage file format used for CHM files.[11]
CHM files support the following features:
The Microsoft Reader's .lit file format is a modification of the HTML Help CHM format. CHM files are sometimes used for e-books.[13]
Sumatra PDF supports viewing CHM documents since version 1.9.
Various applications, such as HTML Help Workshop and 7-Zip can decompile CHM files. The hh.exe utility on Windows and the extract_chmLib utility (a component of chmlib) on Linux can also decompile CHM files.
Microsoft's HTML Help Workshop and Compiler generate CHM files by instructions stored in a HTML Help project. The file name of such a project has the extension .HHP and the file is just a text with the INI file format.[14]
The Free Pascal project has a compiler (chmcmd) that can create CHM files in a multiplatform way.
Read support:
Read/write support: