GoJS is a JavaScript and TypeScript library for building interactive diagrams and graphs. GoJS allows you to build all kinds of diagrams and graphs for your users, from simple flowcharts and org charts to highly-specific industrial diagrams, SCADA and BPMN diagrams, medical diagrams like genograms, and more. GoJS makes constructing JavaScript diagrams of complex nodes, links, and groups easy with customizable templates and layouts.
GoJS offers many advanced features for user interactivity such as drag-and-drop, copy-and-paste, in-place text editing, tooltips, context menus, automatic layouts, templates, data binding and models, transactional state and undo management, palettes, overviews, event handlers, commands, and an extensible tool system for custom operations.
We maintain hundreds of sample diagrams, detailing different examples of interactivity, templates, and user logic for you to start from. We offer free developer-to-developer support during evaluation.
GoJS is implemented in TypeScript and can be used as a JavaScript library or built into your project from TypeScript sources. GoJS normally runs completely in the browser, rendering to an HTML5 Canvas element or SVG without any server-side requirements. It can also run in headless or server environments, like Node. GoJS does not depend on any libraries or frameworks, and can work alongside Angular, React, within Electron, or with no framework at all.
Build custom modeling environments and domain-specific visual languages using the powerful features of GoJS. Provide both a system editor and a read-only status monitor using shared code and templates. Simultaneously show alternative visualizations of the same data in different diagrams. Implement drill-down using expansion of subtrees and subgraphs or a detailed view in another diagram.
Our thorough documentation introduces the basic concepts and demonstrates typical features that most apps want to offer. Nodes and links can be arbitrarily detailed according to the needs of the application. There are many properties that permit simple permissions and customizations, and some methods may be overridden for more complicated customizations.
Run over 200 sample apps that demonstrate flowcharts, org charts, mind maps, UML diagrams, BPMN diagrams, graph editors, data visualization, custom tools and layouts, and much more.
Get started with a step-by-step description of how to build a JavaScript diagram in HTML using GoJS and some model data.
Get a copy of the library and all of the samples, extensions, and documentation. Search the JavaScript code and modify the samples to start your app.
Read our introduction for a overview of GoJS concepts and features, including hundreds of live interactive examples embedded right in each page.
Evaluate the full library without any limitations. Register with us and get free support for a month to help build your app.
Read our comprehensive documentation for an in-depth reference of the properties and methods of all of the JavaScript classes.
When upgrading to a newer version, please read the Change Log.