Windows 3.11 Help File Format Explained
This article examines the compiled help file format used in Microsoft
Windows 3.11, identifying the proprietary WinHelp (.hlp)
format, explaining how these documentation files were authored and
compiled, and highlighting the core features that made them the standard
help system for 16-bit Windows environments.
The WinHelp (.hlp) Format
In Microsoft Windows 3.11, compiled Help files used the
WinHelp format, carrying the .hlp file
extension. When users selected "Help" within an application or opened a
.hlp file directly, the operating system launched the
native viewer program, WINHELP.EXE, to render the
documentation.
The format was binary and proprietary, designed to deliver fast cross-referencing, compressed storage, and responsive keyword searching on hardware with strict memory and CPU limits.
Source Files and Compilation
Creating a Windows 3.11 help file required a specific authoring pipeline:
- Rich Text Format (RTF): Documentation content was
written in RTF files using word processors like Microsoft Word. Authors
used standard formatting for layout and specialized footnotes to encode
help metadata:
#footnote: Defined the unique context string (identifier) used for linking and context-sensitive help.$footnote: Defined the topic title displayed in the history and search lists.Kfootnote: Defined search keywords for the index.+footnote: Defined browse sequences for sequential reading.
- Help Project File (.hpj): A plain-text configuration file that defined compilation settings, window dimensions, referenced RTF files, bitmap resources, and mapping macros.
- The Help Compiler: Developers ran the 16-bit
Microsoft Help Compiler (
HC.EXEorHC31.EXE). This tool parsed the.hpjfile, compressed the text and embedded graphics, resolved hypertext jump references, built the search index, and outputted the final compiled.hlpbinary.
Key Features in Windows 3.11
The WinHelp engine in Windows 3.11 provided several advanced features for its era:
- Hypertext Jumps: Green, underlined text allowed users to navigate directly from one topic to another.
- Pop-up Definitions: Green, dotted-underlined text opened small, borderless pop-up windows for quick glossaries and term definitions without changing the main topic view.
- Context-Sensitive Help: Applications could pass an
identifier to
WINHELP.EXEto immediately open the exact topic relevant to the dialog box or menu the user was actively viewing. - Built-in Search and Bookmarks: The system included an automated search index based on keyword footnotes, a history trail of recently visited topics, and custom bookmark support.
The .hlp format remained the primary help architecture
across the 16-bit Windows era and Windows 95, until Microsoft eventually
replaced it with HTML Help (.chm) in later operating system
releases.