In DIA I could not find an import option for the proprietary Visio files format .vsd and .vsdx.
It would be a great improvement and benefit for DIA if such an import function were available. This could make the switch from proprietary software to open source much easier.
I would be very happy if someone could take up this topic and find a solution.
Unfortunately, I could not find any information on whether anyone is still actively developing the program in 2025 or whether there is a developer community for this.
thank you for your quick reply.
I know the stopgap solution via libreoffice draw.
That has not been my intention here, I would prefer a directly integrated solution into DIA.
What about .doc, .docx, .ppt, .pptx, .xls and .xlsx, would you want “direct integration” with those formats as well?
IMHO, I think GNU/Linux has purposefully adopted the Open Document Format for a principled solution to Microsoft’s monopoly in the office software space. The idea of leaning into Apple or Microsoft repulses me. It’s why I Linux now…
Dia in theory has some level of vsd support, though I admit I have no idea how effective it is.
This is of course something that would be lovely to have, but I’ve never used Visio, and don’t have access to Visio, so sadly even if I had the time/etc is not something I could really do myself — I hope someone else might one day though!
AFAIK DIA uses its own XML-based file format. To convert VSD files to DIA, generally one need to:
1. Read and Parse VSD Files: direct parsing of .vsd files is not practical without using a library that understands the format.
2. Map Visio Elements to DIA Elements: Translate shapes, connectors, text, and layout from the VSD structure to DIA’s XML schema.
3. Write DIA Files: Output the mapped data in DIA’s XML format.
I don’t think one should reinvent the wheel. One approach could be to use the already existing library/tool libvisio.
You can use libvisio to extract the diagram data from VSD files. Libvisio can parse VSD (and VSDX) files and is available.
It is used by LibreOffice Draw and Calligra Flow to import Visio files.
libvisio has the dependencies:
build-essential
automake
libcppunit-dev
autotools-dev
libtool
libboost-dev
gperf
librevenge-dev
libxml2
perl
doxygen
libxml2-dev
libicu-dev
For building Dia from Source you have the dependencies: