QuikGraph
Convert from any graph formatto QuikGraph Convert from QuikGraphto any other format
QuikGraph is a generic graph data-structure and algorithms library for the .NET platform, written primarily in C# with some F# support. It is maintained by the developer known as KeRNeLith and descends from a well-known lineage: the original QuickGraph was created by Jonathan "Peli" de Halleux in 2003 (first posted on CodeProject for .NET 1.0), later continued as YC.QuickGraph on NuGet. QuikGraph forks that YC.QuickGraph codebase, applying a large cleanup, modern C# conventions, extensive unit testing, and bug fixes, then republishing the result as a set of tidy NuGet packages. It is distributed under the Microsoft Public License (MS-PL) and targets a broad range of runtimes, including .NET Standard 1.3+, .NET Core 1.0+, and .NET Framework 3.5+, with explicit Unity 3D compatibility.
The library models both directed and undirected graphs through a family of generic interfaces and concrete implementations (such as adjacency and bidirectional graphs) parameterized over arbitrary vertex and edge types. On top of these structures it ships a substantial algorithm suite: depth-first and breadth-first search, A* search, single-source shortest path, k-shortest paths, maximum flow, and minimum spanning tree, among others. Functionality is split across modular packages so applications pull in only what they need: the core QuikGraph package, plus optional QuikGraph.Serialization, QuikGraph.Graphviz, QuikGraph.Data, QuikGraph.MSAGL, and QuikGraph.Petri.
In the graph-data and format-conversion landscape, QuikGraph is mainly an in-memory computation library rather than a format hub, but its satellite packages give it interchange reach. QuikGraph.Serialization reads and writes format:graphml, the standard XML graph interchange format, while QuikGraph.Graphviz emits format:dot for rendering with tool:graphviz. The QuikGraph.MSAGL package bridges to Microsoft Automatic Graph Layout for visualization, and QuikGraph.Petri adds Petri-net support. This makes it a natural .NET-side counterpart to graph libraries in other ecosystems, filling a role for C# developers analogous to what tool:jgrapht and tool:boost provide for Java and C++, or tool:networkx and tool:igraph provide for Python.
Its strengths are a mature, generic API, wide runtime compatibility, permissive licensing, and solid coverage of classic graph algorithms, which suits it well for pathfinding, dependency analysis, and network computations embedded in .NET or Unity applications. Its limitations are equally clear: it targets in-memory graphs rather than large out-of-core or distributed workloads, its format coverage is narrow (essentially GraphML in and DOT out) compared with dedicated converters, and as a community-maintained project its release cadence and documentation depth depend on a small number of contributors.
Output Formats
Frequently Asked Questions
What graph file formats does QuikGraph support?
See the list on this page — it shows every format QuikGraph can read, write and display.
How do I import a graph into QuikGraph?
Convert your file to a format QuikGraph can read, then open it in QuikGraph. Use GraphInOut to get a QuikGraph-compatible file in seconds.
How do I convert a file so QuikGraph can open it?
Use the convert links above — upload or paste your graph, pick a format QuikGraph accepts and download the result, right in your browser.