Visio 2013 File Formats

Visio 2013 has (at last) brought us the Metro file format, otherwise known as Open Packaging Conventions (OPC) standard (ISO 29500, Part 2)! You can read about Open Packaging Conventions Fundamentals at

Visio file formats were unchanged for versions 2003, 2007 and 2010, except that Visio 2010 saw the addition of the *.vdw format, which is basically the *.vsd with a XAML overlay added. There were two choices of file formats – the Visio binary format or the verbose DataDiagramML Xml format.


Visio 2013 has done away with the binary file format, but has provided alternative extensions for those documents that contain macros.


So, the process for saving Visio 2013 files is different than before:


In the above example. I added the bVisual logo, just to see how the file would be stored in the new Visio 2013 package. You can view the innards of Metro file by changing the extension to zip, and then just opening it. I also added a simple macro to see how it would be stored


As you can see, the VBA project that contains the macros are in a file called vbaProject.bin, and the logo is a media file, called image1.png. Of course, the vbaProject file will not be present in any non-macro-enabled files.

It all looks quite enticing to open and manipulate using code!

If you want to find out more, then download [MS-VSDX].pdf from . This is the preliminary documentation for the Visio Graphics Service VSDX File Format, and an introduction to the new Visio 2013 file format at


10 Responses to “Visio 2013 File Formats”

  1. al edlund Says:

    david, I’ll send a note off-line, al

  2. The Office 365 Site » VSDX: the new Visio file format Says:

    […] Visio 2013 File Formats by David Parker […]

  3. cricstar Says:

    how to download selected callflow pages in visio by using shape reports by using .VSD

  4. Anil Says:

    How can we programmatically save visio document in .vsd format in visio 2013

  5. Rick Sprenkle Says:

    I’ve been trying to use XSD.exe on the released visio 2013 XSD files so that I could utilize an XML deserializer, but I’ve been running into one roadblock after another…is there someone who has released 2013 compatible .cs objects that can be used to serialize / deserialize the open xml formats for visio 2013?

    • davidjpp Says:

      I guess most people use the Visio Type Library rather than creating their own classes. However, I know that Saveen Reddy has created wrapper classes for these ( )
      The recent addition of vstx support to the Open XML Package Editor is something I want to explore :

      • Rick Sprenkle Says:

        Thanks David – yes, I’m using the type library presently, however, I run into a problem… I need to process 10’s of GB of drawings every hour (we use visio as a ‘visual programming metaphor’), and the problem with the type library is that you must instantiate a running copy of Visio to read the file. This is fine unless you are running a service. One cannot launch Visio from a service (it requires a non-station 0 interactive session), and we cannot have shared passwords / interactive logins on our server farm. We approached Microsoft for a workaround (we own a ton of MS licenses), but they were not interested in helping us out…

        This is why the 2013 open file format is intriguing — we can have developers author in Visio, but compile on our server farm by going against the raw files. Also important is that the raw file reads are much faster than out-of proc calls against Visio, and even in proc calls as an add-on.

        I had gotten pretty far with XSD -> CS code. It was just taking a lot of tweaking because XSD.exe cannot handle Schema 1.1 versions, so there are some minor hacks and namespace fixups required. I was hoping someone had found a better way…

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.


O365 and SharePoint

Simplify Tasks

Want to learn the simple way?

Paul Turley's SQL Server BI Blog

sharing my experiences with the Microsoft data platform, SQL Server BI, Data Modeling, SSAS Design, Power Pivot, Power BI, SSRS Advanced Design, Power BI, Dashboards & Visualization since 2009

John Goldsmith's visLog

be smart, be clear, be visual ...

Mo's blog

Personal views on Dynamics 365 for Operations and Technical Architecture.

Chris Webb's BI Blog

Microsoft Power BI, Analysis Services, MDX, DAX, M, Power Pivot and Power Query

Azure Solutions for Office 365, and more...

Rob Fahrni



Life with Visio and other Microsoft Toys!

Nilsandrey's Weblog

Just another weblog

Things that Should be Easy

Every so often (too often in the IT industry) I encounter things that should have been very easy to do but turned out to be far too complicated. My favorite topics include SharePoint, .Net development, and software architecture, especially distributed systems.

Visio Guy

Smart graphics for visual people

%d bloggers like this: