Powerful Diagrams For Every Industry

GoJS is the modern diagramming framework for rich and interactive data visualizations.

Announcing GoJS 3.0
Diagram

Build diagrams for the web in JavaScript and TypeScript

GoJS is used to create interactive diagrams to visualize, monitor, and edit your data. GoJS powers apps in almost every sector, including security, organization management, industrial planning, consumer apps, and more.

Flowchart Flowcharts

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

State Chart State charts

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

Sankey Diagram Sankey diagrams

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

Genogram Genogram diagrams

Create genogram and medical diagrams, or editable family trees with collapsible levels.

Org Chart Org charts

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

Dynamic Ports Dynamic ports

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

Industrial processes 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.

Grouping Dynamic grouping

Use groups as containers and subgraphs, with group members bound by their own rules and layouts.

Develop faster

Built-in features and interactivity to get your projects out the door

Automatic layouts

Built-in layouts, and many samples of custom layouts to be used or adapted.

Learn more

Node and link templates

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

Users can easily undo and redo, and cancelled tool operations can be rolled back.

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

Tools can be customized and extended to give your users the interaction they need.

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

Use any framework

GoJS is designed to work with all modern front-end frameworks

With no dependencies, you can use GoJS anywhere. Leverage it in React, Vue, Angular, or Svelte apps, or in your Node or Electron apps.

react
React

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

Learn more

react
Vue

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

Learn more

react
Angular

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

Learn more

react
Svelte

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

Learn more

Get started with GoJS

Familiarize yourself with GoJS using our 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

Get started with a step-by-step description of how to build a JavaScript diagram in HTML using GoJS and some model data.

See tutorials

Technical introduction

Read our introduction for an overview of GoJS concepts and features, including hundreds of live interactive examples embedded right in each page.

Read intro pages

API documentation

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

View API