Microsoft Compiled HTML Help

.chm · eBooks

A CHM file is a Microsoft Compiled HTML Help file: the familiar help window with Contents, Index and Search tabs on the left and a page on the right. It is still shipped with drivers, older programs and developer tools, and in the 2000s many technical books were distributed as CHM. Windows opens it with a double-click. On a Mac, a phone or a recent Windows with security restrictions, it is often less simple.

History

Microsoft introduced HTML Help in 1997 with Internet Explorer 4 as the successor of the older WinHelp format (.hlp). Updated versions came with Windows 98, Windows 2000, Windows Me and Windows XP. The final version is 1.4, while the authoring tool HTML Help Workshop stopped at 1.3. Microsoft has said it will add no new features, but the viewer (hh.exe) is still part of Windows 10 and Windows 11, so existing files keep working.

What is inside a CHM file

  • A compressed archive. The container format is called ITSF (the first four bytes of the file), and the content is compressed with LZX, one of the methods also used in Microsoft's CAB files.
  • Ordinary web pages. HTML, CSS, images and scripts, exactly as the author wrote them.
  • Navigation. A table of contents (.hhc), a keyword index (.hhk) and a prebuilt full-text search index.
  • Rendering by Internet Explorer. The viewer uses the old IE engine, so pages built for modern browsers can look broken.

Because CHM can run scripts, it has also been abused to deliver malware by e-mail. Treat a CHM attachment from an unknown sender like an executable file and do not open it.

How to open CHM files

  • Windows 10 and 11: double-click; the built-in HTML Help viewer opens it.
  • macOS: there is no built-in viewer. calibre opens CHM in its e-book viewer and converts it; small third-party CHM readers exist in the App Store.
  • Linux: xCHM or KchmViewer, usually in your distribution's repositories, or calibre.
  • Android: Cool Reader reads CHM.

To get at the raw HTML files, unpack the CHM: hh.exe -decompile output_folder file.chm on Windows, 7z x file.chm with 7-Zip anywhere, or extract_chmLib from chmlib on Linux.

Common problems

CHM file opens but pages are blank: "This page can't be displayed"

Windows blocks help files that came from the internet. Close the viewer, right-click the file, choose Properties and tick Unblock at the bottom of the General tab, then open it again. Do this only for files from a source you trust. If the CHM came inside a ZIP, unblock the ZIP before extracting.

CHM not working from a network drive

Since 2005 security updates, the viewer refuses to display CHM content from network shares and shows "Navigation to the webpage was canceled". Copy the file to a local disk. Registry tweaks that relax this exist, but they weaken a deliberate protection.

CHM won't open because of the folder name

A # or % character in the path or file name breaks the internal links. Move the file to a simple path such as C:\Help\manual.chm.

Cannot open CHM on Mac or iPad

Convert it to PDF or EPUB, both of which Apple's built-in apps read.

Converting CHM to PDF or EPUB

Our converter unpacks the CHM archive, follows the table of contents and lays all pages out one after another.

  • PDF is the usual choice for printing a manual or reading it on a Mac or tablet. Pages are US Letter with 1-inch margins; the table of contents becomes PDF bookmarks.
  • EPUB suits e-readers, because the text reflows for small screens. For Kindle, send the EPUB with Send to Kindle.

What is lost: the keyword index and the search tab (a PDF reader's own search replaces it), pop-up windows, and anything generated by scripts or ActiveX controls. Pages that rely on IE-only layouts can also come out differently. For a whole book this is usually a fair trade; for interactive help it is not. Related: HTML, PDF and EPUB to PDF.

CHM at a glance

DeveloperMicrosoft
First release1997, HTML Help 1.0 with Internet Explorer 4
Last versionHTML Help 1.4
PredecessorWinHelp (.hlp)
Container, compressionITSF, LZX
MIME typeapplication/vnd.ms-htmlhelp
Typical usesoftware help, manuals, older technical e-books

References: Microsoft HTML Help 1.4 documentation, the PRONOM registry entry of the UK National Archives and MITRE ATT&CK on CHM misuse.

We can convert CHM into

Documents

PDF DOCX DOC TXT RTFPDF/A

Images

JPG PNGWEBP GIF TIFFHEICAVIFJXLPSDICOAAIAPNGARTAVS BMP CINCURDCXDDSDPXFF FITSFL32 HDRHRZJP2JBIGJNGJPCMNGMTVOTBPALMPAM PBMPCD PCXPFMPGMPGXPHMPICTPPMPSBPTIFQOIRASRGFSGISIXELSUN TGAVICARVIFFVIPS WBMPXBMXPMXWDDCM

Vector images

SVG EPSEMFFXGHPGLPOV PSSIFSVGZWMFXAML

eBooks

EPUB MOBI AZW3 FB2CBZHTMLZ LIT LRF OEB PDB TCRTXTZCB7CBTDJVU