Microsoft Compiled HTML Help (CHM) is a
Microsoft
Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
proprietary
online help
Online help is a form of user assistance that provides topic-oriented, procedural or reference information designed to assist in using a software application, web application or operating system. Online help linked to the application's state ( ...
format, consisting of a collection of
HTML
Hypertext Markup Language (HTML) is the standard markup language for documents designed to be displayed in a web browser. It defines the content and structure of web content. It is often assisted by technologies such as Cascading Style Sheets ( ...
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.
History
CHM was introduced as the successor to
Microsoft WinHelp with the release of
Windows 95 OSR 2.5. Within the
Windows NT family
Windows NT is a proprietary graphical operating system produced by Microsoft as part of its Windows product line, the first version of which, Windows NT 3.1, was released on July 27, 1993. Originally made for the workstation, office, and ser ...
, the CHM file support is introduced in
Windows NT 4.0 and is still supported in
Windows 11
Windows 11 is a version of Microsoft's Windows NT operating system, released on October 5, 2021, as the successor to Windows 10 (2015). It is available as a free upgrade for devices running Windows 10 that meet the #System requirements, Windo ...
.
Microsoft has announced that they do not intend to add any new features to HTML Help.
File format
Help is delivered as a binary file with the
.chm
extension. It contains a set of HTML files, a
hyperlink
In computing, a hyperlink, or simply a link, is a digital reference providing direct access to Data (computing), data by a user (computing), user's point and click, clicking or touchscreen, tapping. A hyperlink points to a whole document or to ...
ed 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
ASCII ( ), an acronym for American Standard Code for Information Interchange, is a character encoding standard for representing a particular set of 95 (English language focused) printable character, printable and 33 control character, control c ...
), 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
)
* Built-in search engine
* Ability to merge multiple .chm help files
* Extended character support, although it does not fully support
Unicode
Unicode or ''The Unicode Standard'' or TUS is a character encoding standard maintained by the Unicode Consortium designed to support the use of text in all of the world's writing systems that can be digitized. Version 16.0 defines 154,998 Char ...
.
The
Microsoft Reader
Microsoft Reader is a discontinued Microsoft application for reading e-books, first released in August 2000, that used its own .LIT format. It was available for Windows computers and Pocket PC PDAs. The name was also used later for an unrelated ...
's .lit file format is a modification of the HTML Help CHM format. CHM files are sometimes used for e-books.
Viewers
In addition to Microsoft Windows, the following apps support CHM:
Creators
Microsoft's HTML Help Workshop generates CHM files by instructions stored in a HTML Help project file, which bears a
.HHP
file name extension
A filename extension, file name extension or file extension is a suffix to the name of a computer file (for example, .txt, .mp3, .exe) that indicates a characteristic of the file contents or its intended use. A filename extension is typically d ...
and is a specialized form of
INI file.
Lazarus and
Free Pascal
Free Pascal Compiler (FPC) is a compiler for the closely related programming-language dialects Pascal and Object Pascal. It is free software released under the GNU General Public License, witexception clausesthat allow static linking against it ...
provide a
doxygen
Doxygen ( ) is a documentation generator that works with many programming languages. It extracts information from specially-formatted source code comments and saves the information in one of various supported formats.
Doxygen supports static ...
-like tool for CHM generation and a separate
command-line
A command-line interface (CLI) is a means of interacting with software via commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user-friendly alternativ ...
compiler called
chmcmd
.
Other utilities
The official viewer in Microsoft Windows (
hh.exe
) can decompile a CHM file. So can Microsoft HTML Help Workshop and
7-Zip
7-Zip is a free and open-source file archiver, a utility used to place groups of files within compressed containers known as "archives". It is developed by Igor Pavlov and was first released in 1999. 7-Zip has its own Archive file, archive forma ...
.
Calibre
In guns, particularly firearms, but not artillery, where a different definition may apply, caliber (or calibre; sometimes abbreviated as "cal") is the specified nominal internal diameter of the gun barrel bore – regardless of how or wher ...
an
arCHMagecan convert CHM into another format.
See also
*
WinHelp
*
Microsoft Help 2
*
Comparison of documentation generators
The following tables compare general and technical information for a number of documentation generators. Please see the individual products' articles for further information. Unless otherwise specified in footnotes, comparisons are based on the s ...
References
External links
HTML Help Web Page on MSDNMicrosoft Help 2 Reference (part of Visual Studio SDK for VS7.1 and VS8.0)
(the linked ITSF specification has been moved t
{{DEFAULTSORT:Microsoft Compiled Html Help
Internet Explorer
Technical communication
Computer file formats