How to Create HTML Help .CHM Help Files

HTML Help is a help file format introduced by Microsoft in 1997 as replacement to the obsolete WinHelp files. A single HTML Help file (with the .CHM extension) represents a container that stores all the data of a help system including HTML files of help topics, CSS styles sheets, JavaScripts files, the hierarchical Table of Contents, alphabetical keywords for the Index tool, full-text search database, images files, embedded videos, and other data files.

Features of a CHM Help File

The key features supported by HTML Help include:

  • A tree-type Table of Contents to organize the help file structure by using headings, sub-headings, topics, and also links to external URLs.
  • The Index tool that allows the user to quickly find a specific term in a sorted list of keywords and also the topics associated with that term.
  • Built-in search engine that provides full-text search capability through the entire help file.
  • Based on the Internet Explorer control, HTML Help provides full support for the HTML/CSS features. Thus, help topics in a .CHM file can include hyperlinks, images, tables, videos, forms, collapsible parts of text, and any other objects including the objects implemented with a JaveScript library such as jQuery UI.
  • Full Unicode support for the content of help topics. However, it should be pointed out that the TOC, Index, and Search tools are not fully Unicode in HTML Help, so they depend on the language and character set settings.
  • The possibility to merge several .CHM help files into a single help system with a common TOC.

HTML Help Viewer

In the Windows environment, a standard viewer is used to display CHM help files. Available since Windows 98 as a built-in application, HTML Help viewer enables users to open and view CHM files on any Windows computer today.

There are also third party tools that enable opening a CHM file on other platforms including Linux. Some of these applications are xCHM, GnoCHM, Chmox, ChmSee, and KchmViewer.

A CHM help file displayed with standard HTML Help viewer

A CHM help file displayed with standard HTML Help viewer

HTML Help Workshop

HTML Help Workshop

CHM Compiler (HHC.exe)

To create a CHM file from a series of HTML files, the HTML Help compiler is used. The CHM file compiler (or HHC.exe) is a part of Microsoft HTML Help Workshop package which represents a CHM creation utility with basic features.

On practice, to create a help file, technical writes prefer to use a full-featured help authoring tool that provides a visual editor to write the content of help topics with the possibility to insert hyperlinks, images, and also includes tools necessary to produce and maintain a middle-size or large documentation project.

Download HTML Help Workshop (HHC.exe compiler)

You can download MS HTML Help Workshop with the CHM file compiler (HHC.exe) by clicking the link below:

Download Microsoft HTML Help Workshop - HTMLHelp.exe, 3.5 MB

How to Create a CHM Help File

Thus, to create a CHM help file, you can download MS HTML Help Workshop for the help compiler and also a help authoring tool such as HelpSmith or Help and Manual which allow you to:

  1. Add and write help topics using a built-in word processor with a spell checker.
  2. Build the hierarchical Table of Contents by organizing your help topics into headings, sub-headings, and subsubheadings.
  3. Associate topics with keywords to provide the alphabetical Index.
  4. Add and manage graphic images to illustrate your help file.
  5. Insert hyperlinks, lines, tables, any other objects in a visual editor without the need to deal with coding HTML.
  6. Define settings of your help file such as title, copyright, language, and character set.
  7. Compile your help project into the CHM file.

By using a help authoring tool, you can make a help file not only in the CHM format, but also in other formats including an online manual for your website, and printable PDF manual.

Add Context-sensitive Help to Your Application

Since the HTML Help format was created for use with Windows applications, it provides API allowing developers to integrate a .CHM file with their programs. Also, major IDEs such as Visual Studio and Embarcadero RAD Studio include components or interfaces that simplify integration of a CHM help file and providing context-sensitive help.

If you need to integrate a CHM help file with your application, below you can find code examples for different development environments:

CHM File Issues

When you view an existing CHM file, or produce your own one, you may face some of the known issues such as blocked content, or non-working search. In fact, these are quite frequent problems for which you can find an easy solution by clicking the below.

Advantages and Disadvantages of HTML Help

While HTML Help is a standard help file format on Windows, it may also be used to create and distribute other kinds of documentation including e-books.

Concerning the advantages of this help format, it should be pointed out that a CHM file has smaller size than separate HTML files thanks to the built-in LZX compression, it provides rich formatting possibilities of HTML and CSS for the help content, and also it includes the full-text search engine.

Among the disadvantages is the lack of native support of CHM files on non-Windows platforms such as Linux, Mac OS, and mobile systems like iOS and Android, not full Unicode support, and also the potential access issues mentioned above.

Download a Help Authoring Tool

You can download one of the recommendable help authoring tools that combines a rich feature-set, slight learning curve, and affordable price.

HelpSmith Download

HelpSmith main window

Product Details:

Detail Value
Product HelpSmith 10.1
Filename HelpSmithSetup.exe
File size 65 MB
Platform Windows 11/10/8/7
System requirements 1 GHz processor, 512MB RAM, 150MB free disk space