/mxgraph

mxGraph is a fully client side JavaScript diagramming library

Primary LanguageHTMLApache License 2.0Apache-2.0

mxgraph

mxGraph is a fully client side JavaScript diagramming library that uses SVG and HTML for rendering. draw.io is an example that extends the functionality of this library. The sources to draw.io are also available.

If you want to build something like draw.io, GraphEditor is the best example to use as a base.

The npm build is here.

mxGraph supports IE 11, Chrome 32+, Firefox 38+, Safari 7.1.x, 8.0.x, 9.1.x and 10.0.x, Opera 20+, Native Android browser 5.1.x+, the default browser in the current and previous major iOS versions (e.g. 10.x and 9.x) and Edge 23+.

mxGraph uses no third-party software, it requires no plugins and can be integrated in virtually any framework.

Getting Started

In the root folder there is an index.html file that contains links to all resources. You can view the documentation online on the Github pages branch. The key resources are the JavaScript user manual, the JavaScript examples and the JavaScript API specificiation.

Support

There is a mxgraph tag on Stack Overflow that we try to keep answered. Please ensure your questions adhere to the SO guidelines, otherwise it will be closed.

License

mxGraph is licensed under the Apache 2.0 license. We do not sell any other license, nor do we have an option for paid support.

History

We created mxGraph in 2005 as a commercial project and it ran through to 2016 that way. Our USP was the support for non-SVG browsers, when that advantage expired we moved onto commercial activity around draw.io. mxGraph is pretty much feature complete, production tested in many large enterprises and stable for many years. We thought it better to open source it rather than letting the code die away.