mxGraph is an open source client side JavaScript diagramming library that uses SVG and HTML for rendering. It also provides server-side functionality in Java and .NET for persistence (open and save) functionality, as well as server-side image generation.