What is MIME type "application/vnd.ms-visio.template.main+xml"?

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

application/vnd.ms-visio.template.main+xml is a MIME type for diagram templates used by Microsoft Visio. It uses an XML format, which makes it both human-readable and easy to process by machines.

This MIME type is primarily used to create predefined layouts and formatting for Visio diagrams. It provides a base design that users can quickly adapt for their own projects.

The format helps maintain consistency across diagrams. It supports collaboration and streamlines the way users start a new Visio document.

For more details, visit the official documentation or trusted file-extension resources such as FileXT.

Associated file extensions

Usage Examples

HTTP Header

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


    Content-Type: application/vnd.ms-visio.template.main+xml    
  

HTML

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


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

Associated file extensions

FAQs

What file extension uses the MIME type application/vnd.ms-visio.template.main+xml?

This MIME type is specifically associated with the .vstx file extension. These are Microsoft Visio Drawing Templates based on the Open XML standard, introduced with Microsoft Office 2013. Unlike older binary templates (.vst), these files store data in a structured XML format.

How do I configure Apache to serve VSTX files correctly?

To ensure Apache serves .vstx files with the correct MIME type, add the following line to your .htaccess file or main configuration. This prevents browsers from misinterpreting the file as a generic ZIP archive:
AddType application/vnd.ms-visio.template.main+xml .vstx

How do I add this MIME type to Nginx?

In Nginx, you should update your mime.types file or add a specific directive within your server block. Use the following code snippet:
types { application/vnd.ms-visio.template.main+xml vstx; }

Why does my browser download the VSTX file as a ZIP archive?

This occurs because .vstx files are technically XML data compressed into a ZIP container (similar to .docx or .xlsx). If the web server is not configured with the specific application/vnd.ms-visio.template.main+xml MIME type, the browser detects the underlying ZIP structure and downloads it as such. Configuring the server headers fixes this issue.

Can web browsers render application/vnd.ms-visio.template.main+xml directly?

No, standard web browsers (Chrome, Firefox, Edge) cannot natively render Visio templates. When a user clicks a link with this MIME type, the browser will usually prompt to download the file. To view it, the user needs Microsoft Visio or the free Visio Viewer installed.

What is the difference between this MIME type and application/vnd.visio?

application/vnd.visio is a generic or legacy MIME type often used for older binary Visio files (.vsd, .vst). The MIME type application/vnd.ms-visio.template.main+xml is specific to the newer, XML-based template format (.vstx), ensuring the operating system triggers the correct handler for modern Visio features.

Does this file type support macros?

No, the application/vnd.ms-visio.template.main+xml type (associated with .vstx) is a macro-free template format. If you need a template that includes VBA macros, you should use the .vstm extension, which uses a different MIME type (application/vnd.ms-visio.template.macroEnabled.main+xml).

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.