HOME

TheInfoList



OR:

Microsoft Compiled HTML Help is a
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
proprietary
online help Online help is topic-oriented, procedural or reference information delivered through computer software. It is a form of user assistance. The purpose of most online help is to assist in using a software application, web application or operating syst ...
format, consisting of a collection of
HTML The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScri ...
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 Software documentation is written text or illustration that accompanies computer software or is embedded in the source code. The documentation either explains how the software operates or how to use it, and may mean different things to people in ...
. It was introduced as the successor to
Microsoft WinHelp Microsoft WinHelp is a proprietary format for online help files that can be displayed by the Microsoft Help browser ''winhelp.exe'' or ''winhlp32.exe''. The file format is based on Rich Text Format (RTF). It remained a popular Help platform from W ...
with the release of Windows 95 OSR 2.5 and consequently,
Windows 98 Windows 98 is a consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of Microsoft Windows operating systems. The second operating system in the 9x line, it is the successor to Windows 95, and was released to ...
. Within the Windows NT family, the CHM file support is introduced in
Windows NT 4.0 Windows NT 4.0 is a major release of the Windows NT operating system developed by Microsoft and oriented towards businesses. It is the direct successor to Windows NT 3.51, which was released to manufacturing on July 31, 1996, and then to retail ...
and is still supported in
Windows 11 Windows 11 is the latest major release of Microsoft's Windows NT operating system, released in October 2021. It is a free upgrade to its predecessor, Windows 10 (2015), and is available for any Windows 10 devices that meet the new Windows 11 ...
. Although the format was designed by Microsoft, it has been successfully
reverse-engineered Reverse engineering (also known as backwards engineering or back engineering) is a process or method through which one attempts to understand through deductive reasoning how a previously made device, process, system, or piece of software accompli ...
and is now supported in many document viewer applications.


History

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 to data that the user can follow or be guided by clicking or tapping. A hyperlink points to a whole document or to a specific element within a document. Hypertext is text wit ...
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 ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because of ...
), for "Info-Tech Storage Format", which is the internal name given by Microsoft to the generic storage file format used in with 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 Unicode, formally The Unicode Standard,The formal version reference is is an information technology Technical standard, standard for the consistent character encoding, encoding, representation, and handling of Character (computing), text expre ...
.


Use in Windows applications

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 a ...
's .lit file format is a modification of the HTML Help CHM format. CHM files are sometimes used for e-books.
Sumatra PDF Sumatra PDF is a free and open-source document viewer that supports many document formats including: Portable Document Format (PDF), Microsoft Compiled HTML Help (CHM), DjVu, EPUB, FictionBook (FB2), MOBI, PRC, Open XML Paper Specification ( ...
supports viewing CHM documents since version 1.9. Various applications, such as 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 format called 7z, ...
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. The
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 ...
project has a compiler (chmcmd) that can create CHM files in a multiplatform way.


Use in non-Windows applications

Read support: * GTK:
CHMseechmviewkit
* Qt:
Okular Okular is a multiplatform document viewer developed by the KDE community and based on Qt and KDE Frameworks libraries. It is distributed as part of the KDE Applications bundle. Its origins are from KPDF and it replaces KPDF, KGhostView, KFax, K ...

kchmviewer
* Java: * iOS
CHMate NeueiChmChmPlusReadCHM
* Android
KingReaderChm ReaderiReader
* Mac OS X
iChm
(Discontinued)
ChmPlus
(Discontinued)
CHMox
PowerPC apps no longer supported)
ArCHMock
(Discontinued)

(Discontinued)
Clearview Reader
* Other / Cross-platform:
xCHM xCHM is a free and open-source GUI front-end for CHMLIB (a viewer for Microsoft Compressed HTML Help files). It compiles and runs on Linux, BSD, Mac OS X and Microsoft Windows. Pre-built binaries for Mac OS X macOS (; previously OS&nb ...
,
DisplayCHM
* Amiga
libmspack
on
Aminet Aminet is the world's largest archive of Amiga-related software and files. Aminet was originally hosted by several universities' FTP sites, and is now available on CD-ROM and on the web. According to Aminet, as of 3 September 2022, it has 83930 pac ...
Read/write support: *
Lazarus (IDE) Lazarus is a free cross-platform visual integrated development environment (IDE) for rapid application development (RAD) using the Free Pascal compiler. Its goal is to provide an easy-to-use development environment for programmers developing wit ...
/
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 ...
(for a
doxygen Doxygen ( ) is a documentation generator and static analysis tool for software source trees. When used as a documentation generator, Doxygen extracts information from specially-formatted comments within the code. When used for analysis, Doxygen ...
like tool, a separate
commandline A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
compiler In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
in 2.6.0+, and a simple viewer in Lazarus)


See also

*
Windows Help Microsoft WinHelp is a proprietary format for online help files that can be displayed by the Microsoft Help browser ''winhelp.exe'' or ''winhlp32.exe''. The file format is based on Rich Text Format (RTF). It remained a popular Help platform from W ...
*
Microsoft Help 2 Microsoft Help 2.x is a proprietary format for online help files, developed by Microsoft and first released in 2001 as a help system for Visual Studio .NET (2002) and MSDN Library. Microsoft Help 2.x is the help engine used in Microsoft Visual ...
*
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 MSDN

Microsoft 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 Online help