Microsoft Compiled HTML Help
This article needs additional citations for verification. (June 2011) (Learn how and when to remove this template message)
|Internet media type|
|Operating system||Microsoft Windows|
|Successor||Microsoft Help 2|
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.
It was introduced as the successor to Microsoft WinHelp with the release of Windows 95 OSR 2.5  and consequently, Windows 98. Within the Windows NT family, the CHM file support is introduced in Windows NT 4.0 and is still supported in Windows 10. Although the format was designed by Microsoft, it has been successfully reverse-engineered and is now supported in many document viewer applications.
|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.
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.
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.
Use in Windows applications
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.
The Free Pascal project has a compiler (chmcmd) that can create CHM files in a multiplatform way.
Use in non-Windows applications
- GTK: GnoCHM on SourceForge.net, CHMsee, chmviewkit
- Qt: Okular, kchmviewer, KCHM on SourceForge.net
- Java: CHMPane on SourceForge.net
- iOS: CHMate Neue, iChm, ChmPlus, ReadCHM
- Android: KingReader[permanent dead link], Chm Reader, iReader
- Mac OS X: iChm (Discontinued), ChmPlus (Discontinued), CHMox(PowerPC apps no longer supported), ArCHMock (Discontinued), CHM to EPUB (Discontinued), Clearview Reader
- Other / Cross-platform: xCHM, arCHMage on SourceForge.net, DisplayCHM
- Amiga: libmspack on Aminet
- Lazarus (IDE)/Free Pascal (for a doxygen like tool, a separate commandline compiler in 2.6.0+, and a simple viewer in Lazarus)
|The Wikibook Windows Programming has a page on the topic of: Compiled HTML Help|
- Techtonik, Anatoly (11 April 2006). "application/vnd.ms-htmlhelp". Retrieved 7 March 2012.
- "Microsoft HTML Help 1.4". Windows Dev Center. Microsoft. Retrieved 10 January 2017.
- ^ since IE 4 is bundled with OSR 2.5, hence adding the CHM file support for the first time^
- "Microsoft Security Bulletin MS02-055 - Critical". docs.microsoft.com. Retrieved 2020-10-29.
- "Full Disclosure: HtmlHelp - .CHM File Heap Overflow". seclists.org. Retrieved 2020-10-29.
- ^ The information available is scarce, but any VM installation of WinNT 4.0 appears to give .CHM file support out of the box. It seems like it wasn't introduced in Windows NT 3.51 due to NT 3.51 being intentionally limited to Internet Explorer 16-bit versions^
- "[SOLVED] Windows 10 CHM Help Files showing up blank. - Spiceworks". community.spiceworks.com. Retrieved 2020-10-29.
- "Microsoft HTML Help Downloads". Microsoft. Retrieved 6 March 2012.
- Wise, Paul; Wing, Jed (2005). "Unofficial (Preliminary) HTML Help Specification". Retrieved 15 August 2012.
- Palade, Alexandru (2005). "Archive::Chm". Retrieved 22 July 2014.
- "INFO: Limited Unicode Support in HTML Help". Microsoft. 11 April 2001. Archived from the original on 13 March 2016. Retrieved 17 March 2012.
- Title Handbook of Data Compression Authors David Salomon, Giovanni Motta, David (CON) Bryant Edition 5, illustrated Publisher Springer, 2009 ISBN 1-84882-902-7, ISBN 978-1-84882-902-2 Length 1359 pages
- Wise, Paul; Wing, Jed (2005). "Unofficial (Preliminary) HTML Help Specification INI formats". Retrieved 1 February 2018.