dgml2
Convert from any graph formatto dgml2 Convert from dgml2to any other format
dgml2 is a small command-line utility, written by Simone Busoli (GitHub handle simoneb), that converts Microsoft's DGML (Directed Graph Markup Language, format:dgml) files into other graph interchange formats. DGML is the XML-based graph format used by Visual Studio's dependency-graph and code-map features, where nodes, links, categories, and styling describe code architecture and dependency relationships. The tool exists to move that data out of the Visual Studio ecosystem into more portable, tool-neutral representations.
The project is implemented entirely in C# (.NET) and distributed as a console executable invoked as DGML2.exe <path to dgml file> [output file]: the first argument is the source DGML document, and an optional second argument names the output file. At present the only supported target is GraphML (format:graphml), the widely-supported XML graph standard read by most general-purpose graph software. The conversion is deliberately basic: it emits a standard <graphml> document with a <graph edgedefault="directed"> element and maps DGML nodes and links to GraphML <node> and <edge> elements carrying id, source, and target attributes. It preserves directed topology but does not appear to carry over DGML-specific richness such as categories, custom properties, or visual styling.
In the wider graph-data and format-conversion landscape, dgml2 occupies a narrow but useful niche: a one-directional DGML-to-GraphML bridge. Because GraphML is broadly consumed, its output can feed downstream analysis and visualization tools such as tool:gephi, tool:cytoscape, tool:networkx, tool:yed, or tool:igraph, none of which read DGML natively. It complements the reverse-direction efforts of tools like tool:dgml-power-tools and DGML producers, and sits alongside other single-purpose format shims such as tool:dot2graphml. For general multi-format graph conversion, broader engines like tool:graphinout cover a far larger matrix of formats.
Its limitations are significant and openly acknowledged. dgml2 is a minimal, low-activity project (a handful of commits, no published releases or packages, MIT-licensed) supporting only the single GraphML target, with no fidelity guarantees for DGML metadata beyond graph structure. It is best understood as a lightweight, purpose-built extraction helper rather than a maintained, general conversion library.
Input Formats
Frequently Asked Questions
What graph file formats does dgml2 support?
See the list on this page — it shows every format dgml2 can read, write and display.
How do I import a graph into dgml2?
Convert your file to a format dgml2 can read, then open it in dgml2. Use GraphInOut to get a dgml2-compatible file in seconds.
How do I convert a file so dgml2 can open it?
Use the convert links above — upload or paste your graph, pick a format dgml2 accepts and download the result, right in your browser.