diagrams.net can export to VSDX, but a file that will not open in Visio usually points to a container or content problem rather than a missing export feature. Start by checking whether the desktop app offers a real VSDX export path, then verify the exported package before you send it on.

What the missing export usually means

What the missing export usually means
A draw.io export menu is open beside a flowchart diagram

There are three different states to separate: the export option is missing, the source .drawio file will not open in diagrams.net, or Visio rejects the exported file. Treat them as different problems. The fix path changes with each one.

A .drawio file is not a Visio drawing, even when it contains XML. A typical diagrams.net XML file may have an <mxfile> root, which points to diagrams.net data rather than a Visio package. Microsoft Visio expects a genuine VSDX document, and that target format should be the deliverable copy.

If the source is healthy, check the export package itself next. A VSDX file should be a ZIP-based Open Packaging Convention package and should include [Content_Types].xml. A ZIP test can still pass while Visio rejects the file, so package integrity and Visio compatibility are related but not identical.

Likely causes ranked by frequency

Common causes include the app build not exposing VSDX export, the source file not opening cleanly in diagrams.net, the exported package not being a valid VSDX container, or Visio opening the file but shifting the imported content. Fix them in that order.

Missing VSDX export in the app or build

  1. Open the same .drawio file in the diagrams.net desktop app, not a renamed copy.
  2. Look for File > Export as > VSDX.
  3. If the menu path is absent, check the installed diagrams.net version and install path used for that desktop copy.
  4. If command-line export is supported in that build, use the export path there instead of guessing from the menu.

Source.drawio file does not open in diagrams.net

  1. Open the original .drawio file in diagrams.net first.
  2. If it opens as XML text instead of a diagram, inspect the file for an <mxfile> root.
  3. If the file is plain XML, run xmllint --noout source.drawio to check outer syntax.
  4. If syntax is clean but the file still will not open as a diagram, the source needs repair before export.

Exported VSDX is not a valid package

  1. Export again from File > Export as > VSDX in diagrams.net.
  2. Check the exported file with unzip -t converted.vsdx.
  3. Inspect the archive contents and confirm that [Content_Types].xml is present.
  4. If the ZIP test fails, replace the export file and repeat the export from a source that opens normally.

Visio opens the file but shapes differ

  1. Open the exported VSDX in Microsoft Visio.
  2. Compare the diagram structure first: connectors, grouped objects, labels, and font choices.
  3. If the file opens but layout shifts, treat it as a content-mapping issue rather than a broken package.
  4. Keep the original .drawio file unchanged and adjust the diagrams.net source, then export again.

Draw io export to Visio not showing?

Draw io export to Visio not showing?
A diagram editor menu shows export options highlighted in red

When the VSDX option is missing, check the diagrams.net build you are using and whether the same source file opens there. The desktop app can open and edit .drawio files, and the export path should appear as File > Export as > VSDX in supported builds. If it does not appear, version or install-path limits are a more likely cause than the diagram itself.

If your file opens normally in the desktop app but Export as > VSDX is absent, the app build is the issue, not the drawing. By contrast, if the same file fails to open as a diagram, the source is the first thing to fix.

  1. Open the file in the diagrams.net desktop app.
  2. Check for File > Export as > VSDX.
  3. If supported in your build, use the command line with drawio --export --format vsdx --output converted.vsdx diagram.drawio.
  4. If the export path is still absent, verify the installed version and the desktop package you are actually launching.

How to verify the source file before exporting

Start with the source. If diagrams.net cannot open the file as a diagram, export troubleshooting is premature. A healthy source is one that opens in diagrams.net and shows the diagram editor, not raw XML text. If you inspect the file and see <mxfile>, that is a strong clue that the file is diagrams.net data, not a Visio drawing.

Use xmllint only as a quick syntax check on a plain XML source. It can confirm that the outer XML is well formed, but it cannot prove the diagram will export cleanly or that Visio will accept the result. That distinction matters.

  1. Open the original file in diagrams.net.
  2. If it fails to open as a diagram, inspect the source text for <mxfile>.
  3. Run xmllint --noout source.drawio for a syntax check when the file is XML text.
  4. Only export after the source opens normally in diagrams.net.

How to export a draw.io diagram as VSDX

Use the diagrams.net export path, then keep the original .drawio file unchanged. The recommended export target is a genuine VSDX file. Do not rename the source file and expect that to convert it. A file extension alone does not change the format.

The desktop app path is File > Export as > VSDX. That creates a version intended for a Microsoft Visio workflow. If your installed build also supports command-line export, the example syntax is drawio --export --format vsdx --output converted.vsdx diagram.drawio. Availability depends on the installed version and path.

  1. Open the diagram in diagrams.net.
  2. Select File > Export as > VSDX.
  3. Save the exported file as the deliverable copy and leave the source untouched.
  4. If your desktop build supports it, use drawio --export --format vsdx --output converted.vsdx diagram.drawio for repeatable export.

VSDX file checks before you send it

Check the archive before handing the file to Visio users. A VSDX package should pass a ZIP integrity test, and it should contain [Content_Types].xml. That still does not guarantee Visio acceptance, but it helps separate package damage from content mismatch.

Visio is the compatibility target. Open the exported file in Visio to confirm that it is accepted as a Visio document. If Visio refuses it after the ZIP test passes, the package can be intact while the content still fails Visio’s expectations.

  1. Run unzip -t converted.vsdx.
  2. Inspect the archive and confirm [Content_Types].xml exists.
  3. Open the file in Microsoft Visio.
  4. If Visio rejects it, return to the diagrams.net source and export again from a clean opening.

Troubleshooting matrix

Symptom Likely cause Quickest check Next action
VSDX export is missing from the menu App build or install path does not expose the export command Open the same file in the diagrams.net desktop app and look for File > Export as > VSDX Verify the installed version; use command-line export only if that build supports it
.drawio source will not open Source-file problem before export starts Check whether the file opens as a diagram and whether it contains <mxfile> Run xmllint --noout source.drawio if it is XML text, then repair the source before exporting
VSDX fails unzip -t Exported package is damaged or incomplete Run unzip -t converted.vsdx and inspect for [Content_Types].xml Export again from a source that opens normally in diagrams.net
Visio opens the file but shapes differ Content mapping issue after a successful open Check connectors, labels, grouped objects, and font handling inside Visio Keep the source unchanged, adjust the diagrams.net file, and export a fresh VSDX

Still not working?

Still not working?
A diagram editor is shown with a save dialog over a flowchart

If the file still fails after the checks above, move up the ladder again: source opening, export path, package integrity, then Visio import. A common first-timer mistake is to fix the exported file before confirming the source opens cleanly. That reverses the order and wastes time.

A 2 MB diagram can open in diagrams.net, export with no error, pass unzip -t, and still look shifted in Visio. That is not the same as a broken archive. It is a compatibility problem in the content mapping, so the source needs adjustment before another export.

If the desktop app cannot open the source, or the export menu never appears in the installed build, use vendor support for that diagrams.net installation or for the Visio workflow you need to preserve.

Frequently asked questions

How do I import draw.io into Visio?

Use a real VSDX file, not the original .drawio source. Export from diagrams.net with File > Export as > VSDX, then open that exported file in Visio. The draw.io site notes that Visio users can import multipage diagrams from .vsdx and that export from Visio should use VSDX first.

How do I convert draw.io to Visio?

Open the diagram in diagrams.net and export it as VSDX. If the desktop app supports it, the command-line form is drawio --export --format vsdx --output converted.vsdx diagram.drawio. Keep the original .drawio file unchanged and use the exported VSDX as the handoff copy.

Why is draw.io export to Visio not showing in the menu?

Check the diagrams.net build first. The desktop app should expose File > Export as > VSDX in supported versions. If the path is missing, the installed build may not support that export route, so verify the version and the launch path before assuming the diagram is the problem.

How do I export a draw.io diagram as VSDX?

Open the file in diagrams.net and choose File > Export as > VSDX. Save the exported file as the deliverable copy. If your installed build supports command-line export, use drawio --export --format vsdx --output converted.vsdx diagram.drawio instead.

Why does Visio reject a draw.io file after export?

First confirm that the exported file is a valid package with unzip -t converted.vsdx. If the ZIP test passes and Visio still rejects it, the file can still be a bad match for Visio’s expectations. Check that [Content_Types].xml exists, then re-export from a source that opens cleanly in diagrams.net.

Is renaming a.drawio file to.vsdx enough?

No. Renaming cannot convert the format. A .drawio file is XML-based diagrams.net data, and a genuine Visio document needs an exported VSDX package. Use the diagrams.net export path instead of changing the extension.