Reference articles on history, science, culture and more
Encyclopedia

Microsoft Compiled HTML Help

Software help file format by Microsoft

Microsoft HTML Help Executable
Other nameshh.exe
DeveloperMicrosoft
Included withMicrosoft Windows
PredecessorMicrosoft WinHelp
SuccessorMicrosoft Help 2
TypeHelp system

Microsoft Compiled HTML Help (CHM) 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. The format was intended to succeed Microsoft WinHelp.

Although the format was designed by Microsoft, it has been successfully reverse-engineered and is now supported by many document viewers.

01History

CHM was introduced as the successor to Microsoft WinHelp with the release of Windows 95 OSR 2.5. Within the Windows NT family, the CHM file support is introduced in Windows NT 4.0 and is still supported in Windows 11.

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.

02File 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.

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.

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.

The Microsoft Reader's .lit file format is a modification of the HTML Help CHM format. CHM files are sometimes used for e-books.

03Viewers

In addition to Microsoft Windows, the following apps support CHM:

Name Operating system Website
Okular Linux, Unix-like, Windows okular.kde.org

invent.kde.org/graphics/okular

Uses hh.exe on Windows
Calibre Windows, macOS, Linux calibre-ebook.com

calibre on GitHub

Sumatra PDF Windows www.sumatrapdfreader.org

sumatrapdf on GitHub

GnoCHM Linux, BSD GnoCHM on SourceForge
CHM View None/Uncompiled chmviewkit on GitHub
kchmviewer Windows, Linux ulduzsoft.com/kchmviewer/
KCHM Linux, BSD, Solaris KCHM on SourceForge
CHMPane Windows, macOS, Linux CHMPane on SourceForge
CHMate Neue iOS, iPadOS, visionOS CHMate Neue on iTunes
iChm iOS, macOS iChm on iTunes Discontinued
ChmPlus iOS, iPadOS, macOS, visionOS ChmPlus on iTunes
Chmox macOS chmox.sourceforge.net

Chmox on SourceForge

Clearview macOS Clearview on iTunes
DisplayCHM Linux linux-apps.com/p/998057
KOReader Android, Linux koreader.rocks

Koreader on GitHub

7-zip Windows (GUI), MacOS (command-line), Linux (command-line) www.7-zip.org

Ip7z on GitHub

7-zip can show the contents of .chm files as though they are a compressed archive, but does not render the HTML as a help-viewer.

04Creators

Microsoft's HTML Help Workshop generates CHM files by instructions stored in an HTML Help project file, which bears a .HHP file name extension and is a specialized form of INI file.

Lazarus and Free Pascal provide a doxygen-like tool for CHM generation and a separate command-line compiler called chmcmd.

05Other utilities

The official viewer in Microsoft Windows (hh.exe) can decompile a CHM file. So can Microsoft HTML Help Workshop and 7-Zip. Calibre and arCHMage can convert CHM into another format.

Watch videos about Microsoft Compiled HTML HelpExplainers and documentaries on YouTube (opens in a new tab)

Sources and credits

This article is adapted from the Wikipedia article Microsoft Compiled HTML Help, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.

Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.