XGR
XGR is the native graph-persistence format of QVGE (Qt Visual Graph Editor), a lightweight open-source 2D graph editor written in C++/Qt by Ars L. Masiuk and edited with the qvge application. A file with the ".xgr" extension stores a complete QVGE editing scene: the nodes and edges of the graph together with all of the visual and semantic state QVGE needs to reconstruct the diagram exactly, including per-item geometry (node positions and sizes), shapes, colors, labels, edge routing (straight or polyline), node ports, graph directionality, and arbitrary user-defined attributes attached to the graph, nodes, or edges.
Despite the common assumption that an editor format is XML, XGR is not text-based. It is a binary container produced by Qt's QDataStream serialization mechanism: QVGE writes its in-memory scene straight to a versioned Qt data stream (pinned to the Qt510 stream version in recent releases), and reads it back through the same channel. This makes XGR compact and lossless for round-tripping within QVGE, but tightly coupled to Qt's internal encoding and effectively opaque to third-party parsers. For backward compatibility the reader also recognizes an older "DPSE" item vocabulary (branch/fan nodes, branch/direct connections) from Masiuk's earlier diagram engine, remapping those legacy types onto QVGE's current node and edge classes.
Within the format-conversion landscape XGR functions as an application-private save format rather than an interchange standard. Because its binary layout is not documented or portable, interoperability is expected to go through QVGE's other supported formats instead: it reads and writes GraphML and a common subset of GEXF, writes GML and DOT (Graphviz), and can import DOT/GML via GraphViz, Boost, or OGDF back-ends. QVGE also integrates Graphviz layout engines (dot, neato) and exports rendered diagrams to SVG, PDF, and raster images.
The practical strength of XGR is fidelity: it preserves everything QVGE can display, which no neutral format fully captures, making it the right choice for ongoing editing sessions. Its weaknesses are the flip side of that fidelity — no human readability, no stable published schema, fragility across Qt or QVGE versions, and poor suitability for archival, diffing, or exchange with other graph tools such as Gephi, yEd, or Graphviz. For sharing or long-term storage, exporting to GraphML is the safer path.
Alternative Names: QVGE native format
Tools(Read & Write)
Frequently Asked Questions
What is a XGR (Qt Visual Graph Editor native format) file?
A XGR (Qt Visual Graph Editor native format) file stores a graph — its nodes, edges and attributes — in the XGR (Qt Visual Graph Editor native format) format (also: QVGE native format). See the feature table above for what it supports.
How do I open a XGR (Qt Visual Graph Editor native format) file?
Open it in a graph tool that supports XGR (Qt Visual Graph Editor native format), or convert it to a format your tool reads. With GraphInOut you can convert XGR (Qt Visual Graph Editor native format) to GraphML, DOT, Connected JSON and more, right in your browser.
How do I convert a XGR (Qt Visual Graph Editor native format) file to another format?
Use the Convert from XGR (Qt Visual Graph Editor native format) link above: upload or paste your XGR (Qt Visual Graph Editor native format) file (input preset to XGR (Qt Visual Graph Editor native format)), choose a target format and download the result — free, no install.