Microsoft Compiled HTML Help

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.

Microsoft Compiled HTML Help
Filename extension
.chm
Internet media type
application/vnd.ms-htmlhelp[1]
Developed byMicrosoft
Initial release1997
Latest release
1.4[2]
Extended to.lit
Microsoft Compiled HTML Help
Developer(s)Microsoft
Operating systemMicrosoft Windows
PredecessorMicrosoft WinHelp
SuccessorMicrosoft Help 2
TypeHelp 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.

History

MonthYearDescription
February1996Microsoft announces plans to stop development of WinHelp and start development on HTML Help.
August1997HTML Help 1.0 (HH 1.0) is released with Internet Explorer 4.
February1998HTML Help 1.1a ships with Windows 98.
January2000HTML Help 1.3 ships with Windows 2000.
JulyHTML Help 1.32 releases with Internet Explorer 5.5 and Windows Me.
October2001HTML Help 1.33 releases with Internet Explorer 6 and Windows XP.
MarchAt the WritersUA (formerly WinWriters) conference, Microsoft announces plans for a new help platform, Help 2, which is also HTML based.
January2003Microsoft 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]

File format

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" (in ASCII), 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:

  • Data compression (using LZX)
  • Built-in search engine
  • Ability to merge multiple .chm help files
  • Extended character support, although it does not fully support Unicode.[12]

Use in Windows applications

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.

Use in non-Windows applications

Read support:

Read/write support:

See also

References

External links