GoJS is a JavaScript diagramming library and canvas-based visualization engine used to build interactive flowcharts, organizational charts, and network diagrams. It functions as a data-driven framework that binds JavaScript data models to visual elements, enabling bidirectional synchronization between the underlying data and the graphical representation.
The library features a comprehensive graph layout engine capable of automatically arranging nodes into trees, grids, circles, or force-directed layouts. It distinguishes itself through a template-based system for generating visual parts and a transactional history model that supports atomic commits for reliable undo and redo operations.
Its capability surface covers a wide range of specialized diagram types, including BPMN modeling, Gantt charts, industrial process monitoring, and interactive floor planning. It includes advanced interaction controls such as drag-and-drop palettes, in-place text editing, and obstacle-avoidance link routing, while maintaining performance for large datasets via viewport virtualization.
The framework integrates with various frontend architectures and supports server-side rendering for image generation and automated testing.