What is MIME type "application/vnd.mozilla.xul+xml"?

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

application/vnd.mozilla.xul+xml is the MIME type for files written in XUL, which stands for XML User Interface Language.
It tells systems that the file uses XML markup to design user interfaces.
Files with this type use the XUL extension.
Additional details and examples can be found in the Mozilla Developer Network documentation.
This MIME type ensures that the system processes the content correctly as XML-based UI instructions.

Associated file extensions

Usage Examples

HTTP Header

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


    Content-Type: application/vnd.mozilla.xul+xml    
  

HTML

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


    <a href="file.dat" type="application/vnd.mozilla.xul+xml">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/vnd.mozilla.xul+xml');    
      res.end('Content here');    
    }).listen(3000);    
  

Associated file extensions

FAQs

What is the application/vnd.mozilla.xul+xml MIME type used for?

This MIME type identifies files written in XUL (XML User Interface Language), a markup language developed by Mozilla. It was historically used to define the user interface for applications like Firefox, Thunderbird, and SeaMonkey.

Do modern web browsers support application/vnd.mozilla.xul+xml?

No, most modern browsers (Chrome, Edge, Safari) do not support XUL. Even Firefox has largely removed support for XUL in favor of standard HTML5 and the WebExtensions API for add-ons.

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

To ensure your Apache server sends the correct header, add the following line to your .htaccess file or server configuration: AddType application/vnd.mozilla.xul+xml .xul.

How do I add support for this MIME type in Nginx?

In your nginx.conf or the mime.types file, include the following directive inside the types block: application/vnd.mozilla.xul+xml xul;.

Why does my browser download the .xul file instead of displaying it?

If the browser does not support the XUL format or the server sends the wrong Content-Type (e.g., application/octet-stream), the browser will default to downloading the file. Verify your server headers and ensure you are using a compatible legacy client like Pale Moon or an older version of Firefox.

What is the relationship between this MIME type and the .xul extension?

The .xul extension is the standard file suffix for XUL documents. When a server sees a file ending in .xul, it should serve it with the application/vnd.mozilla.xul+xml MIME type so the client knows how to parse the UI elements.

Is application/vnd.mozilla.xul+xml secure for public websites?

Generally, no. "Remote XUL" (loading XUL from a website) had significant security privileges in older Mozilla browsers and was often disabled to prevent malicious code execution. Modern development uses standard HTML and CSS instead.

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.