gitmyhub

GoJS

HTML ★ 8.4k updated 4d ago

JavaScript diagramming library for interactive flowcharts, org charts, design tools, planning tools, visual languages.

GoJS is a commercial JavaScript library for building interactive diagrams in the browser, flowcharts, org charts, mind maps, network graphs, and hundreds more, without building the rendering engine yourself.

JavaScriptTypeScriptHTMLCanvasSVGsetup: easycomplexity 3/5

GoJS is a JavaScript and TypeScript library for building interactive diagrams inside a web browser. It handles the rendering, user interaction, and data model for you, so developers can focus on configuring what the diagram looks like and how it behaves rather than building the drawing engine from scratch.

The library supports a wide range of diagram types. The README and accompanying samples cover flowcharts, organization charts, swimlanes, timelines, kanban boards, mind maps, network graphs, family trees, UML class diagrams, PERT charts, Gantt charts, floor plans, and hundreds more. Built-in layout algorithms include tree layout, force-directed (nodes push apart like magnets), circular, and layered directed-graph arrangements. Custom layouts are also supported through extensions included in the repository.

Diagrams in GoJS are data-driven. You define templates that describe how a node or link should look, then supply JSON data describing the actual nodes and connections. The library binds your data to the visual elements, so changing the data updates the diagram. This also makes saving and loading diagrams straightforward since the model serializes to JSON text. Rendering can target either an HTML Canvas element or SVG, and the library can export images. It also runs outside the browser in server-side Node.js or headless browser environments.

GoJS is a commercial product from Northwoods Software. A free evaluation license is available for testing and development, but production or commercial use requires a paid license. The GitHub repository hosts the full library source alongside all samples and documentation. The samples alone cover hundreds of diagram types and are searchable through the repository. Support is offered through a forum on the Northwoods Software website, with a month of direct developer support available to prospective customers.

Where it fits