What is MIME type "application/winhlp"?

A MIME type is a string that tells browsers and other tools how to handle a particular kind of file.

application/winhlp is a MIME type that identifies Windows Help files. It signals that the file contains help documentation built for legacy Windows systems.
Files using this type typically have the HLP extension. They store formatted text and images in a binary format that older Windows applications use to guide users.
For more detailed background, check out WinHlp32 on Wikipedia.

Associated file extensions

Usage Examples

HTTP Header

When serving content with this MIME type, set the Content-Type header:


    Content-Type: application/winhlp    
  

HTML

In HTML, you can specify the MIME type in various elements:


    <a href="file.dat" type="application/winhlp">Download file</a>    
  

Server-side (Node.js)

Setting the Content-Type header in Node.js:


    const http = require('http');    
    
    http.createServer((req, res) => {    
      res.setHeader('Content-Type', 'application/winhlp');    
      res.end('Content here');    
    }).listen(3000);    
  

Associated file extensions

FAQs

How do I open files with the application/winhlp MIME type on Windows 10 or 11?

Modern versions of Windows do not include the required WinHlp32.exe viewer by default due to its legacy status. To view these files, you must download the specific Windows Help program from Microsoft or convert the .hlp file to a modern format like PDF.

Is application/winhlp supported in web browsers like Chrome or Firefox?

No, modern web browsers cannot render application/winhlp content natively. When a web server delivers a file with this MIME type, the browser will typically prompt you to download the file to your local disk instead of displaying it.

How do I configure Apache to serve .hlp files correctly?

You should add the MIME type definition to your .htaccess file or main configuration. Use the directive AddType application/winhlp .hlp to ensure browsers recognize the file type correctly rather than treating it as a generic binary stream.

Are there security risks associated with application/winhlp files?

Yes, this legacy format supports macros and scripts that can be exploited to execute malicious code. Because of these vulnerabilities, Microsoft has deprecated the format, and you should be cautious when opening unknown HLP files.

What should I use instead of application/winhlp for new documentation?

Developers should use modern standards like HTML5 or application/pdf for documentation. For offline Windows help specifically, the Compiled HTML Help (.chm) format replaced WinHlp, though web-based help is now the industry standard.

Why does Nginx serve .hlp files as application/octet-stream?

This occurs if the MIME type is missing from the Nginx mime.types configuration file. To fix it, add the line application/winhlp hlp; inside the types block of your nginx.conf so the server sends the correct header.

General FAQ

What is a MIME type?

A MIME (Multipurpose Internet Mail Extensions) type is a standard that indicates the nature and format of a document, file, or assortment of bytes. MIME types are defined and standardized in IETF's RFC 6838.

MIME types are important because they help browsers and servers understand how to process a file. When a browser receives a file from a server, it uses the MIME type to determine how to display or handle the content, whether it's an image to display, a PDF to open in a viewer, or a video to play.

MIME types consist of a type and a subtype, separated by a slash (e.g., text/html, image/jpeg, application/pdf). Some MIME types also include optional parameters.

How do I find the MIME type for a file?

You can check the file extension or use a file identification tool such as file --mime-type on the command line. Many programming languages also provide libraries to detect MIME types.

Why are multiple MIME types listed for one extension?

Different applications and historical conventions may use alternative MIME identifiers for the same kind of file. Showing them all helps ensure compatibility across systems.