A CHM help file has a ".chm" extension and is often referred to as a "chum" file.[citation needed] It has a set of web pages written in a subset of HTML and a hyperlinked table of contents. CHM format is optimized for reading, as files are heavily indexed. All files are compressed together with LZX compression. Most CHM browsers have the capability to display a table of contents outside of the body text of the help file.
The file starts with bytes "ITSF" (in ASCII), for "Info-Tech Storage Format". The format has been partially reverse engineered and there are container and internal files specifications available.
There are some open source tools which can read and explore these files (see for example xCHM, KchmViewer, GnoCHM or Chmox for OS X), but they lack various features of the Microsoft Windows tools.
This format was originally intended only for encoding help files, but other uses have since been found. It is very handy for packing saved HTML pages in one compact and browsable archive and for creating compact ebooks. Some people use it to keep personal notes, because it can organize them in an ordered hierarchical table and allows quick text searching. There is a Firefox extension capable of viewing CHM files
Detail:
http://en.wikipedia.org/wiki/HTML_help