GoJS - Interactive Diagrams for the Web in JavaScript and TypeScript

3 min read Original article ↗

June 2026: GoJS 4.0 released!

See what's new in GoJS 4.0

Industrial Monitor

Industrial Diagrams

GoJS is ideal for industrial monitoring and control systems. Create SCADA tools, visualize flow, and see your processes more clearly.

Organize processes

Visualize and monitor critical assets across domains

Build dashboards, operator consoles, and visual editors that run for years in production.

GoJS makes it easy to create industrial process automation, control, and monitoring tools for your organization.

See hundreds of samples

Org Chart

Org charts

Create classic org charts. Leverage GoJS to allow users to easily interact with their org charts, editing relationships, collapsing levels, and more.

Represent relationships

Develop interactive org charts, trees, and hierarchy diagrams

Use automatic layouts to easily modify the way relationships are displayed.

Let end-users edit diagrams in-place: drag, reconnect, or update data with full undo/redo.

Collapse different levels of your trees and sub-graphs to bring focus where it's needed.

Shipped by Fortune 500s and startups alike

Including industrial planning, security, organization management, consumer apps, and more.

airbusj and jsiemensvisakinaxisboscheyhitachi

Talk to the developers who built it

Northwoods Software has supported diagramming libraries for over 25 years. When you register an evaluation, the same engineers who write GoJS will help you scope your proof-of-concept, design templates, and unblock integration issues.

Start a supported evaluation

Develop faster

The things you'd have to build yourself: already built, tested, and documented

Automatic layouts

Built-in layouts, and many samples of custom layouts to use or adapt.

Learn more
Node and link templating

Quickly set the look for your diagram parts while keeping appearance separate from data.

Learn more
Data binding

Automatically keep your data in sync with your display, and vice versa.

Learn more
Undo & redo

Full transactional undo/redo, including cancelled drag and edit operations.

Learn more
Keyboard shortcuts

Use common keyboard commands and gestures, which can be customized.

Learn more
Subgraphs

Groups provide subgraphs to apply different rules or layouts to their members.

Learn more
Extensible tools

Override or subclass any built-in tool (drag, resize, link-draw) to match your app's interaction model.

Learn more
Customizable events and permissions

Execute custom logic or notifications when users perform certain actions or key presses, or disable different interactions altogether.

Learn more
Context menus and tooltips

Context menus and tooltips are built-in, and can be extended in-canvas or with HTML.

Learn more

Zero dependencies. Use it anywhere.

GoJS is a self-contained library with zero dependencies. Drop it into React, Vue, Angular, Svelte, Electron, or vanilla JS. GoJS can also be used server-side for async layouts, testing, and image creation.

react

React

Use gojs-react, our component library, to simplify your GoJS React integration.

Learn more

vue

Vue

We maintain a Vue 3 integration sample to help speed up your app development.

Learn more

angular

Angular

Check out our other component library, gojs-angular, and get your Angular diagrams up and running.

Learn more

svelte

Svelte

GoJS can integrate into your Svelte app with just an install and a div.

Learn more

Extensive documentation

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.
View samples

Learn
An illustrated tour of GoJS concepts, with hundreds of live, editable code examples embedded directly in the docs.
See learn pages

API documentation
Read our comprehensive documentation for an in-depth reference of the entire library.
View API

Support Forum
Read or ask questions from the GoJS team.
View the forum