A Web Framework for Rapidly Building Interactive Diagrams
January 2022: GoJS 2.2 has been released! See changelog here
Build Diagrams for the Web in JavaScript and TypeScript

Flowcharts
Build interactive flowcharts or flow diagrams. Let your users build, modify, and save Diagrams with JSON model output.

State Charts
Visualize State Charts and other behavior diagrams.
Create diagrams with live updates to monitor state, or interactive diagrams for planning.

Sankey Diagrams
GoJS allows considerable customization of Links and Nodes to build all kinds of diagrams. Visualize flow, or connect pipes.

Genogram Diagrams
Create Genogram and Medical diagrams, or editable family trees with collapsible levels.

Org Charts
Create classic org charts for viewing or editing. Automatic layouts make different visualization options easy.

Dynamic Ports
Dynamically add ports and custom link routing. Use data-bindings to save and load routes within the Model JSON.

Industrial Processes
Model industrial processes, workflows, SCADA diagrams and more. Permissions and validation make it easy to add rules and constraints when your users build diagrams.

Dynamic Grouping
Use groups as containers and subgraphs, with group members bound by their own rules and layouts.
Built-in features and interactivity to develop your projects faster
Automatic Layouts
GoJS includes several built-in layouts, and many samples of custom layouts to be used or adapted.
Node and Link Templates
Quickly set the look for your diagram parts while keeping appearance separate from data.
Data Binding
GoJS models can automatically keep your data in sync with your display, and vice versa.
Undo & Redo
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.
Keyboard Shortcuts
GoJS implements a number of common keyboard commands and gestures, which can be customized.
Subgraphs
GoJS Groups provide subgraphs to apply different rules or layouts to their members.
Extensible Tools
GoJS input is routed through tools that can be customized and extended to give your users the interaction they need.
Customizable Events and Permissions
Execute custom logic or notifications when users do certain actions or key presses, or disable different interactions altogether.
Context Menus and Tooltips
GoJS has built-in Context Menu and tooltips, which can be extended in-canvas or with HTML.
Explore
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.
Learn
Get started with a step-by-step description of how to build a JavaScript diagram in HTML using GoJS and some model data.
Download
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.
Technical Introduction
Read our introduction for an overview of GoJS concepts and features, including hundreds of live interactive examples embedded right in each page.
Free Evaluation
Evaluate the full library without any limitations. Register for free support for a month to help build your app.
API Documentation
Read our comprehensive documentation for an in-depth reference of the properties and methods of all of the JavaScript classes.
By Northwoods Software
NOW WITH OVER +8500 USERS. people can Join Knowasiak for free. Sign up on Knowasiak.com
Read More