CHM stands for Compressed HTML but it is much more than that.
CHM is a container for multiple HTML files and provides a mechanism to rapidly access data in this format. It uses LZX compression. It is largely used for reference documents and Help documents. This is a handy way to keep reference manuals close at hand for easy access. Microsoft includes a CHM Help reader in its Microsoft Windows operating system called hh.exe. When you click on help in a Microsoft application and some 3rd party applications you will find yourself in the CHM Reader. It can also be used directly by providing the CHM file as the argument for the command on a command line or in a shortcut.
CHM has limited Unicode support. For best results, one file should not contain multiple languages.
 Exploded .chm
 Windows utility
For those using Windows, you can use the free chm --> html tool provided by Microsoft, as follows:
C:\> hh -decompile Destdir Source.chm
Then proceed from there, by manually editing/converting any .hhc to resemble an index/TOC.
 CHM decompiler
chmdeco a CHM decompiler - free converter.
 Running HH on Windows
The following files are needed to use the HH command.
HH.EXE (Windows or WinNT directory) HHCTRL.OCX (System or System32 directory) ITSS.DLL (System or System32 directory) ITIRCL.DLL (System or System32 directory)
 CHM Readers for other platforms
For Windows Mobile
For MacOS X
- Chamonix a free download
FBReader has chm support but generally works best with small files.
Hanlin eBook Readers have native support for CHM files but have similar limitations to FBReader.
 For more information
- http://www.russotto.net/chm/ - contains technical details and other data on the CHM or Microsoft help files.