CHM (Compiled HTML Help)
Microsoft's bundled help format that packs an entire documentation website into a single clickable file.
| Full name | Compiled HTML Help |
| Extension | .chm |
| MIME type | application/vnd.ms-htmlhelp |
| Developer | Microsoft |
| Released | 1997 (HTML Help 1.0 shipped with Internet Explorer 4) |
| Type | Document / Help file |
| Compression | LZX (LZ77 family) |
| Container signature | ITSF (Info-Tech Storage Format) |
What is a CHM file?
CHM is Microsoft's proprietary help-file format, introduced in 1997 as the successor to the older WinHelp (.hlp) system. It bundles HTML pages, images, a table of contents, and a full-text search index into one compressed binary file. Windows displays CHM files through the HTML Help viewer, which is built into every version of Windows since Windows 98.
A CHM file is essentially a compressed web site stored in a single archive. Inside, it holds standard HTML files, CSS, images, and JavaScript, organized under a navigable table of contents and index. The outer container format is called ITSF (Info-Tech Storage Format), and the content itself is compressed with the LZX algorithm, the same algorithm used in Microsoft Cabinet (.cab) files. Because the pages are plain HTML, any content that a late-1990s Internet Explorer could render can appear in a CHM file.
History
Microsoft released HTML Help 1.0 in August 1997 alongside Internet Explorer 4, replacing the older WinHelp format that had shipped with Windows 3.1. HTML Help 1.1a followed with Windows 98 in 1998, and version 1.3 shipped with Windows 2000. Microsoft released a final update, version 1.4, in 2006, but has not developed the format further since then; modern Windows documentation has largely moved to web-based help instead.
How it works
The file starts with the four-byte signature 'ITSF' that identifies the Info-Tech Storage Format container. Inside, a directory section marked 'ITSP' lists every internal file, including system metadata files such as #SYSTEM, #STRINGS, and #TOPICS. HTML content pages and assets are stored in a single compressed stream called '::DataSpace/Storage/MSCompressed/Content', split into fixed-size blocks and compressed with LZX. A reset table records where each block boundary falls so the viewer can seek directly to any page without decompressing the entire archive.
What it is used for
- Offline software documentation shipped alongside desktop applications
- Windows API and SDK reference manuals distributed by Microsoft and third-party tool vendors
- Technical manuals and user guides embedded in installer packages
- Legacy help systems still bundled with older enterprise software that has not been updated
How to open it
On Windows, double-clicking a CHM file opens it in the built-in HTML Help viewer (hh.exe). On macOS and Linux, tools such as xCHM, ChmSee, or the command-line archmage utility can extract and display CHM content.
Pros and cons
Strengths
- Single file makes distribution and installation simple
- LZX compression keeps file sizes small compared to raw HTML folders
- Built-in full-text search works without an internet connection
- Supported natively on every Windows version from 98 onward without extra software
Trade-offs
- Format has not been updated since 2006 and is considered legacy
- Windows blocks CHM files downloaded from the internet by default, requiring a manual 'Unblock' step in file properties
- No native support on macOS or Linux without third-party tools
- HTML is rendered by an old Internet Explorer engine on older Windows versions, so modern HTML5 and CSS3 features may not display correctly
Convert CHM files
Free, in your browser, no signup. Start at the CHM converter, or jump straight to a popular conversion below.
From CHM
Curious how fast and how small? See our measured conversion benchmarks.
CHM FAQ
Why does my CHM file show blank pages after I download it?
Windows marks files downloaded from the internet as potentially unsafe and blocks CHM content from rendering. Right-click the file, choose Properties, and click the Unblock button at the bottom of the General tab, then reopen the file.
Can I open a CHM file on a Mac?
macOS has no built-in CHM viewer. You can convert the CHM to PDF or HTML first, or install a third-party reader. Converting it with a file-conversion tool is often the quickest path.
Is CHM still used for new software projects?
Rarely. Most modern applications ship help content as a web page, a PDF, or a Markdown-based documentation site. CHM survives mainly in older enterprise applications and legacy tools that have not been updated.
What is the difference between CHM and WinHelp (.hlp)?
WinHelp uses a proprietary RTF-based format and predates the web era. CHM replaced it in 1997 by using standard HTML inside a compressed container, making it easier for developers to author help content with ordinary web tools.