Windows 95 Help File Format Explained

In Windows 95, system help documentation was stored using the Microsoft WinHelp format, identified primarily by the .hlp file extension. This article examines the structure of the WinHelp system in Windows 95, the auxiliary files used to organize contents and indexes, how authors compiled these help topics, and the eventual deprecation of the format in modern operating systems.

The standard file format for Windows 95 help documentation was the 32-bit version of Microsoft WinHelp (WinHelp 4.0), which packaged text, formatting, and navigation into binary .hlp files. When a user pressed F1 or selected "Help" from the Start menu, Windows launched the winhlp32.exe viewer to parse and display these files. The format supported rich text formatting, clickable hyperlinks, embedded bitmaps, context-sensitive topic IDs, and internal macro scripting that allowed help files to trigger operating system actions.

To modernize navigation, Windows 95 introduced the Contents (.cnt) file to accompany the main .hlp file. The .cnt file was a plain-text outline that defined the hierarchy of books and topics shown in the Help Topics viewer. This gave users a consistent, multi-tabbed interface featuring "Contents," "Index," and "Find." When a user first accessed the "Find" tab to perform a full-text search, the system created a .gid (Global Index) file in the same directory to cache the index for faster subsequent queries.

Creating a Windows 95 help file required authoring content in Rich Text Format (RTF). Writers used specialized footnotes within the RTF document to define topic titles, keywords, context strings, and browse sequences. Microsoft's Help Compiler (hcrtf.exe) then processed the RTF source files along with a Help Project (.hpj) configuration file to compile the final binary .hlp file.

While the WinHelp format was a standard across Windows 95 and Windows NT 4.0, its proprietary nature and potential security vulnerabilities caused Microsoft to phase it out. Starting with Windows 98, Microsoft transitioned to Compiled HTML Help (.chm), which used standard HTML and web technologies. Microsoft eventually stopped including the native WinHelp viewer in Windows Vista, requiring users to download a standalone viewer to open legacy .hlp files.