Trusted by Fortune 500s and startups alike
One library for every possibility
GoJS is used for a wide range of supervising, control, and editing. Samples below demonstrate a few possibilities.
Interactive flowcharts
GoJS is often used for flowcharts, process demonstrations, low-code and no-code tools, and more.
Build workflow UIs
Let users wire triggers, prompts, tools, and conditions into a graph that your runtime executes. Constrain what can connect to what.
Organizational chart editor
GoJS is used for HR and workforce visualization and planning. Add, remove, and reassign people with a context menu and inline editing.
Genograms and medical diagrams
Visualize relationship and medical data across generations.
Create editors with validation
Enforce rules for users to create logically correct diagrams.
Grouping and subgraphs
Drag nodes, including groups, into and out of groups. GoJS lets you collapse and expand groups, and give them their own subgraph layouts.
Built in
The parts you would otherwise have to build yourself
- Automatic layouts
- Arrange a process top-down or left-to-right with LayeredDigraphLayout, or an org chart of thousands of people with TreeLayout. Each has dozens of options for spacing, alignment, and ordering. Learn more
- Ports and link validation
- Decide where links may start and end, cap how many connect to each port, and reject invalid connections while the user is still drawing them. Learn more
- Undo and redo
- Every edit runs in a transaction, so undo and redo work out of the box, including cancelled drags and text edits. Learn more
- Groups and subgraphs
- Containers that move, copy, and delete with their contents. Use them as subgraphs, phases, or departments, give each its own layout, and let users collapse them. Learn more
- Collapse, expand, and reassign subtrees
- Built-in expand and collapse for both groups and graph subtrees. Drag a node onto a new manager to move its entire team. Learn more
- JSON in, JSON out
- Models hold only your data, saving and loading as JSON by default. Keep node and link data in whatever shape your backend already uses, and bind templates to it. Learn more
Ready to get started?
Start with our tutorials, or start with a conversation. Evaluation support is provided by the same engineers that build the library.
npm install gojs