Microsoft Automatic Graph Layout (MSAGL)
Original author(s)Lev Nachmanson, Sergey Pupyrev, Tim Dwyer, Ted Hart, Roman Prutkin
Developer(s)Microsoft Research
Initial releaseFebruary 26, 2015; 8 years ago (2015-02-26)
Stable release
v1.1 / January 28, 2022; 19 months ago (2022-01-28)
Written inC#
Operating systemMicrosoft Windows
Platform.NET Framework
TypeSoftware framework
LicenseMIT License

Microsoft Automatic Graph Layout (MSAGL) is a .NET library for automatic graph layout. It was created by Lev Nachmanson at Microsoft Research.[1]

Earlier versions carried the name GLEE (Graph Layout Execution Engine).[2]


The MSAGL software supplies three programming libraries:

A trivial application is supplied to demonstrate the viewer.


MSAGL performs layout based on principles of the Sugiyama scheme;[3] it produces so called layered, or hierarchical, layouts (according to the MSAGL home page). Modified Coffman–Graham scheduling algorithm is then used to find a layout that would fit in a given space. More detailed description of the algorithm can be found in U.S. Patent 7,932,907.

At some time, it did not support a wide range of different layout algorithms, unlike, for instance, GraphViz or GUESS.

It does not appear to support incremental layout.[4]

Availability and licensing

MSAGL is distributed under MIT License as open source at GitHub.[5]

See also


  1. ^ "Microsoft Automatic Graph Layout". Microsoft Research.
  2. ^ "Visualize Custom Graph with MS Graph Layout Engine". Syncfusion Blogs. 14 August 2018.
  3. ^ Nachmanson, Lev (June 2006). "Notes on an Implementation of Sugiyama's Scheme".
  4. ^ "Microsoft Automatic Graph Layout | Semantic Scholar".
  5. ^ "Microsoft Automatic Graph Layout". GitHub. 17 October 2021.