A .graphml file describes a graph in XML: a <graph> element containing <node> and <edge> elements, with arbitrary typed attributes attached to either through <key> declarations and <data> values. It expresses topology first and leaves layout to whoever draws it.
Private for supported formats — processed in your browser
Convert supported files
Runs on your device
+
Drop GRAPHML files here
Batch files can each use a different output. Nothing uploads for local conversions.
Working inputs include camera RAW, browser-local audio/video, PDF, CBZ/CBR comics, office documents, ebooks, markup, 3D models, structured text, images, and archives.
GraphML came out of the 2000–2001 Graph Drawing symposia, designed by a working group that wanted one interchange format instead of the dozen incompatible ones then in use. It has been stable ever since and is the default save format of yEd and a first-class format in NetworkX, igraph and Gephi. Its distinguishing decision was extensibility: application-specific data can be attached without breaking readers that do not understand it.
How GRAPHML works
Node and edge attributes are declared once as <key> elements and referenced by <data key="..."> — so the schema is explicit rather than inferred.
The graph element's edgedefault attribute declares directed or undirected, and individual edges may override it.
Nested graphs are supported, letting a node contain a subgraph — useful for hierarchical or clustered structures.
Hyperedges connecting more than two nodes are in the specification, though few tools implement them.
Because it is XML, it is verbose and, like any XML input, must be parsed with entity expansion disabled.
When to use GRAPHML
Exchanging network data between yEd, Gephi, Cytoscape and NetworkX
Storing an annotated graph where nodes and edges carry typed properties
Converting a graph to GEXF or DOT for a different visualisation tool
Rendering a small graph directly to SVG for documentation
Strengths and limitations
Strengths
Extensible attribute model that does not break older readers
Broad support across graph-analysis and drawing tools
Self-describing — the key declarations document the data
Limitations
Verbose; large graphs produce very large files
Hyperedge and nested-graph support is patchy in practice
No standard place for layout, so visual positions are tool-specific extensions
Compatibility
yEd, Gephi, Cytoscape, NetworkX, igraph and JGraphT read GraphML. Novus Convert parses topology and labels locally, with document types and external entities blocked, and converts to GEXF, DOT, JSON and SVG — the SVG being a direct rendering rather than a re-export.
Node and edge data attributes are preserved into GEXF and JSON; DOT and SVG keep labels only.