GoJS includes several built-in layouts, and many samples of custom layouts to be used or adapted.
Quickly set the look for your diagram parts while keeping appearance separate from data.
GoJS models can automatically keep your data in sync with your display, and vice versa.
GoJS has built-in state management to record a history of Diagram and Model changes. Users can easily undo and redo, and cancelled tool operations can be rolled back. This state can be inspected for futher customization.
GoJS implements a number of common keyboard commands and gestures, which can be customized.
GoJS Groups provide subgraphs to apply different rules or layouts to their members.
GoJS input is routed through tools that can be customized and extended to give your users the interaction they need.
Execute custom logic or notifications when users do certain actions or key presses, or disable different interactions altogether.
GoJS has built-in Context Menu and tooltips, which can be extended in-canvas or with HTML.
We publish a React component, gojs-react to simplify React integration, and host a React sample using GoJS called gojs-react-basic. See the GoJS with React introduction page for more information.
We publish an Angular component, gojs-angular to simplify Angular integration, and host a Angular sample using GoJS called gojs-angular-basic. See the GoJS with Angular introduction page for more information.
We have a sample on using Vue.js with GoJS.
Start from 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.
Read our introduction for an 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 for free support for a month to help build your app.