30 open-source projects similar to northwoodssoftware/gojs, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best GoJS alternative.
Cytoscape.js is a JavaScript library designed for rendering interactive node-link diagrams and analyzing complex network structures directly within a web browser. It functions as a comprehensive framework for building responsive graph interfaces, providing the tools necessary to visualize relational datasets and manage hierarchical data models. The library distinguishes itself through a modular architecture that supports custom layout algorithms and rendering styles, allowing for the integration of physics-based engines to organize complex network structures automatically. It utilizes an even
This project is a React-based framework for constructing interactive, node-based visual interfaces. It provides a platform for building canvases where users define, connect, and organize logical processes, data pipelines, or complex workflows through a graphical interface. By utilizing a modular component architecture, it enables the development of low-code environments, visual programming tools, and interactive diagramming applications. The framework distinguishes itself through a declarative approach where state changes automatically synchronize with the visual representation of nodes and e
react-konva is a declarative React canvas graphics library and 2D vector graphics framework. It serves as a rendering engine and interactive canvas toolset that allows for the drawing and management of complex 2D shapes and graphics using a React component model. The library maps reactive component trees to an underlying object-oriented graphics scene graph, enabling the synchronization of visual states with application data. It provides specialized tools for building interactive graphical interfaces, including support for multi-touch gestures, drag-and-drop functionality, and real-time trans
Flowy is a JavaScript library designed for building interactive, drag-and-drop flowchart interfaces. It enables the creation of canvas-based environments where users can arrange blocks to design custom logic sequences, decision trees, and visual process maps. The library provides a structured approach to diagramming by organizing elements into a hierarchical parent-child tree. It features coordinate-based snapping logic to ensure blocks automatically align into organized layouts during user interaction. To support complex system configurations, the tool includes event-driven callback hooks th
X6 is a JavaScript diagramming library and SVG graph rendering engine used to build interactive flowcharts, mind maps, and visual workflow editors. It provides a framework for defining customizable node and edge behaviors, utilizing a hybrid rendering approach that combines SVG and HTML. The library decouples the visual graph representation from underlying business logic and data structures through a dedicated state management system. It allows for extensive extensibility via a registration mechanism for custom nodes, edges, and canvas tools. The toolkit includes capabilities for automatic g
interact.js is a JavaScript interaction library used to implement drag and drop, resizing, and multi-touch gestures within web browsers. It provides a specialized interaction framework for scalable vector graphics, allowing these elements to be moved and resized. The library features a multi-touch gesture engine that recognizes complex patterns such as pinch and rotate, and a coordinate snapping engine for aligning elements to grids or restricting movement within boundaries. It also includes a cross-frame state synchronizer to share interaction states and input events across multiple browser
LogicFlow is an SVG-based flowchart editing framework and visual graph editor used for building customizable business process diagrams. It serves as a customizable diagramming engine for rendering business process models, entity relationship diagrams, and unified modeling language charts. The system is characterized by a plugin-based architecture that allows developers to define specialized graphical elements and register pluggable modules. A distinctive feature is its overlay system, which positions standard HTML components on top of the SVG canvas to create interactive menus and control pan
likec4 is an architecture-as-code framework that transforms text-based architecture definitions into interactive diagrams, static websites, and image files. It serves as a system architecture visualizer and C4 model diagram generator, allowing users to define software components, boundaries, and deployment infrastructure using a domain-specific language. The tool distinguishes itself by providing a modeling environment with Language Server Protocol integration for real-time validation and autocomplete. It enables interactive architecture documentation where users can navigate through hierarch
Moveable! Draggable! Resizable! Scalable! Rotatable! Warpable! Pinchable! Groupable! Snappable!
react-data-grid is a high-performance tabular interface for rendering and manipulating large datasets within a React application. It functions as a virtualized data table and editable spreadsheet component that supports hierarchical data grids with expandable and collapsible row groupings. The component maintains performance with massive datasets by rendering only the rows and columns currently visible in the viewport. It provides spreadsheet-like data manipulation, including cell editing and the ability to copy, paste, or drag values between cells. The grid supports advanced layout capabili
bpmn-js is a browser-based BPMN 2.0 web modeler and rendering engine used for creating, editing, and visualizing business process models. It functions as an XML process modeler that parses BPMN 2.0 XML data into interactive visual diagrams within a web application. The project distinguishes itself as a business process visualizer with capabilities for process flow simulation, which tracks token movement to mimic real-time execution. It also supports diagram version comparison to identify changes between model iterations and provides a layered overlay interface for binding metadata and custom
Tabulator is an interactive data table library and virtual DOM data grid used to create high-performance tables from JSON or arrays. It functions as a hierarchical data viewer and a spreadsheet interface component, capable of rendering thousands of records efficiently through viewport-based virtualization and progressive loading. The library distinguishes itself by providing a full spreadsheet interface mode with multi-sheet management, cell range selection, and bulk copy-paste capabilities. It supports complex data architectures, including nested data field mapping, expandable tree structure
Yoopta-Editor is a headless framework for building customizable block-based rich text editors. It utilizes a JSON-based document engine to manage editor state and provides a WYSIWYG interface for creating structured documents. The system separates core document logic from the visual layer, allowing for complete customization of the user interface. The framework is designed for real-time collaborative editing, featuring a synchronization engine with conflict resolution and remote cursor presence tracking. It offers a highly extensible plugin system that allows developers to define new content
CodeMirror is a browser-based code editor framework and modular extension system used to embed full-featured text editors into web pages. It functions as a syntax tree parsing engine and a language server protocol client, enabling structural language analysis and deep integration with external programming language services. The project is distinguished by its modular architecture, which uses a system of extensions and compartments for dynamic reconfiguration at runtime. It supports real-time collaborative editing and state synchronization through an operational transformation framework, allow
This library is a headless virtualization engine designed to optimize performance for large-scale list and grid rendering in Vue applications. By mounting only the elements currently visible within the viewport, it minimizes browser operations and memory usage, allowing interfaces to remain responsive even when handling massive datasets. The engine distinguishes itself through a headless layout abstraction that decouples virtualization logic from specific markup, enabling the creation of custom interfaces without enforcing rigid container styles. It features automatic, dynamic size calculatio
Fireworks Tech Graph is a tool that generates SVG and PNG technical diagrams from natural language descriptions, supporting both English and Chinese input. It produces publication-quality diagrams for AI architectures, UML types, and other technical domains without requiring manual drawing or diagramming syntax. The tool distinguishes itself through a semantic shape vocabulary and arrow-based flow encoding that conveys component roles and data flow types through consistent geometric shapes, stroke widths, dash patterns, and colors rather than relying on textual labels. It renders the same dia
ChartDB is a database schema visualizer and entity-relationship diagramming platform designed to help developers understand, design, and document complex data architectures. It functions as a visual workspace where users can create and modify database schemas, define table attributes, and map foreign key relationships. By parsing database metadata or SQL scripts, the tool generates interactive diagrams that provide a clear overview of structural interdependencies and data associations. The platform distinguishes itself through its focus on automated documentation and schema synchronization. I
Red is a programming language with a native compiler that translates high-level source code into standalone executables for Windows, macOS, and Linux without external runtime dependencies. It combines a cross-platform GUI development framework that renders native operating system widgets from a single codebase with a reactive data binding system that automatically synchronizes UI state with data sources. The language also includes an embedded DSL and parsing engine based on PEG grammar rules for defining and processing domain-specific languages within the language itself. The project distingu
React-window is a frontend performance optimization library designed to render large datasets in React applications. It implements virtualization techniques to manage long lists and complex tabular data by dynamically mounting and unmounting elements based on the current viewport. By limiting the number of active document nodes, the library maintains interface responsiveness when handling thousands of data entries. The library distinguishes itself through a focus on efficient layout calculations and scroll-driven reconciliation. It uses absolute positioning and predefined dimensions to determ
PlantUML is a text-to-diagram generator that translates human-readable markup into structured graphical representations. It functions as a diagram-as-code tool, allowing users to create and maintain technical documentation, architectural models, and flowcharts by decoupling diagram content from visual layout. The project distinguishes itself through a comprehensive rendering pipeline that processes domain-specific markup into various output formats, including vector and raster graphics. It utilizes a graph-based layout engine to calculate spatial positioning, while a declarative styling layer
This project is a diagram-as-code tool that transforms declarative text scripts into professional visual representations. It functions as a technical documentation generator, allowing users to define nodes, connections, and hierarchical relationships through a domain-specific modeling language that integrates directly into version-controlled developer workflows. The tool distinguishes itself through a highly modular architecture that decouples diagram definitions from spatial positioning. It features a pluggable layout engine that supports multiple arrangement algorithms, alongside a styling
Cube is a semantic data layer that provides a unified framework for defining business metrics, dimensions, and relationships across diverse data sources. By acting as a headless business intelligence engine, it transforms raw data into a governed model that can be queried via SQL, REST, and GraphQL interfaces. This architecture ensures consistent data definitions and logic across all downstream analytical applications and reporting tools. The platform distinguishes itself through its integrated conversational AI capabilities, which allow users to explore data using natural language. It orches
PyMuPDF is a comprehensive PDF manipulation library and document analysis tool. It serves as a text extraction tool, OCR engine, and image converter, providing a programmatic interface to edit, merge, split, and optimize PDF and Office documents. The project distinguishes itself through high-performance capabilities, including the use of C-bindings for low-level manipulation and parallelized page processing to accelerate workloads. It provides specialized conversion paths, such as transforming PDF content into Markdown for retrieval-augmented generation and large language model pipelines. It
react-diagrams is a framework for building interactive node-and-link diagrams and visual graphs within React applications. It functions as an interactive graph visualization tool and visual workflow designer, providing a system for rendering manipulatable canvases of connected nodes. The library is distinguished by its ability to act as a serializable state diagram manager, converting complex node layouts and connection states into storable data formats for session persistence. It further allows for custom behavior extensions to modify core logic and modules to implement project-specific func
Vue Flow is a TypeScript library for building interactive node-based editors and flowcharts. It provides the core infrastructure for creating diagrams where users can drag, select, and connect nodes with edges, supporting pan and zoom navigation of the canvas. The library offers extensive control over graph behavior and appearance, including the ability to customize connection lines, define custom edge types, and configure zoom constraints and viewport defaults. It includes built-in components like a minimap for navigation, zoom controls, and a fit-view button, along with features for node re
react-force-graph is a React component for rendering interactive 2D and 3D network visualizations using a force-directed layout engine. It functions as an interactive data visualization library that employs D3-force simulations to manage node physics and relationship positioning. The library includes a 3D visualization tool that utilizes ThreeJS to render complex nodes and links within an immersive space. It provides programmatic control over zooming, panning, and viewport navigation, alongside a coordinate-to-object picking mechanism for handling user interactions like clicks, hovers, and dr
mxgraph is a client-side graph visualization tool and JavaScript diagramming library. It functions as an SVG-based drawing framework used to create and render interactive diagrams directly within a web browser. The library enables the development of custom diagramming tools, such as network maps and flowcharts, by providing the means to draw and manipulate visual data structures. It focuses on client-side data visualization, allowing for the representation of complex node and edge relationships without requiring server-side rendering.
Markmap is an interactive diagramming library that transforms hierarchical Markdown documents into navigable mindmaps. It functions as a data visualization component, converting structured text into graphical representations to assist in organizing and visualizing complex information. The library utilizes a parsing engine to interpret indentation levels and list markers, mapping them into nested data objects. These objects are rendered as scalable vector graphics, providing users with dynamic, zoomable, and collapsible diagrams that update reactively as the underlying source text changes. Th
This project is a client-side rendering engine that transforms declarative, text-based syntax into visual diagrams directly within the browser. By utilizing a domain-specific language, it allows users to define complex structures—such as software architectures, process flows, and system behaviors—without the need for manual layout configuration. The library functions as a browser-based runtime that parses these definitions into intermediate abstract syntax trees, which are then processed by specialized engines to generate high-fidelity, resolution-independent graphics. The system distinguishe