What is MIME type "application/vnd.ms-visio.drawing.main+xml"?
A MIME type is a string that tells browsers and other tools how to handle a particular kind of file.
The MIME type application/vnd.ms-visio.drawing.main+xml identifies a file that contains a Visio drawing stored in an XML format.This format is used by Microsoft Visio to create and manage diagrams. It allows the file to include structured data that details shapes, connectors, and page settings. The XML foundation makes it easier to extract and process the diagram’s content with other tools.
Files of this type use the extension VSDX and are common in modern Visio versions, such as Visio 2013 and later.
- Business diagrams: flowcharts, process maps.
- Technical drawings: network layouts, system architectures.
- Organizational charts: company structures, hierarchies.
For more details on this MIME type, see the IANA registry.
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.drawing.main+xml
HTML
In HTML, you can specify the MIME type in various elements:
<a href="file.dat" type="application/vnd.ms-visio.drawing.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.drawing.main+xml');
res.end('Content here');
}).listen(3000);
Associated file extensions
FAQs
Which file extension uses the MIME type application/vnd.ms-visio.drawing.main+xml?
This MIME type is exclusively associated with the .vsdx file extension. This is the default format for drawings created in Microsoft Visio 2013 and later versions, replacing the older binary .vsd format.
How do I configure IIS to serve .vsdx files correctly?
If IIS returns a 404 error for .vsdx files, you must add a MIME map. In your web.config or IIS Manager, map the extension .vsdx to application/vnd.ms-visio.drawing.main+xml to ensure the server allows the download.
Why does my browser download a .vsdx file as a .zip?
This usually happens because the web server is not configured with the correct MIME type. Since .vsdx files are technically ZIP archives containing XML data, browsers often default to application/zip if the specific Visio header is missing.
What is the difference between this type and application/vnd.visio?
The type application/vnd.visio is a generic or legacy identifier often used for binary .vsd files. In contrast, application/vnd.ms-visio.drawing.main+xml specifically identifies the modern Open XML format used by current versions of Visio.
How do I add support for VSDX in Apache?
You can enable support by editing your .htaccess file or global configuration. Add the line AddType application/vnd.ms-visio.drawing.main+xml .vsdx to ensure Apache sends the correct headers to clients.
Can web browsers display application/vnd.ms-visio.drawing.main+xml files directly?
No, standard browsers like Chrome or Firefox cannot render Visio diagrams natively. Users will be prompted to download the file, which they must then open in Microsoft Visio or a compatible viewer like Visio Viewer.
Is it safe to open files with this MIME type?
Generally, yes, as .vsdx files are macro-free XML drawings. Files containing macros usually use a different extension (.vsdm) and MIME type; however, you should always scan downloaded files for potential XML-based vulnerabilities.
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.