30 open-source projects similar to mdaines/viz-js, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Viz Js alternative.
Penrose is a compiler that transforms structured mathematical notation into optimized SVG diagrams. It uses a three-stage pipeline of separate domain, substance, and style files to define mathematical objects, relationships, and visual presentation, then solves continuous optimization problems with user-defined spatial constraints and objectives to automatically arrange diagram elements. The system separates diagram content from visual style using distinct declarative languages, and provides a typed domain language with subtype hierarchies for mathematical objects. It supports embedding compi
petgraph is a graph data structure library for the Rust programming language. It provides a collection of tools for representing and manipulating graphs, functioning as a network analysis tool and a comprehensive graph algorithm suite. The library integrates with Graphviz DOT for importing, exporting, and parsing graph data to facilitate visualization. It distinguishes itself by offering specialized network analysis capabilities, such as the detection of cliques, bridge edges, articulation points, and subgraph isomorphisms. Its computational surface covers a wide range of algorithms, includi
SVGOMG is a browser-based SVG minification tool that applies SVGO transformations entirely on the client side. It processes SVG files in a Web Worker to keep the user interface responsive, then displays the original and optimized file sizes side by side, including gzipped size estimates. The tool provides a live preview of the optimized SVG markup, rendered directly in the browser for immediate visual feedback. Users can configure which SVGO optimization plugins are enabled or disabled, set numerical precision for coordinates and transforms, and optionally pretty-print the output. Multiple op
WireViz is a tool that generates wiring diagrams, bills of materials, and schematic routing from YAML configuration. It supports standard wire color codes such as IEC 60757 and DIN 47100, and automatically converts wire gauge units between square millimeters and American Wire Gauge (AWG). The tool automatically routes one-to-one wire connections within a harness by matching pin identifiers, eliminating manual layout steps. It also produces a bill of materials with wire lengths and part numbers directly from the same YAML input that defines the diagram.
go-diagrams is a Go visualization library and DOT language generator used to create system architecture diagrams. It implements a diagrams-as-code approach, allowing users to define system components, infrastructure dependencies, and data flows using Go source code. The library translates these code-based definitions into Graphviz DOT syntax, which is then processed by the Graphviz toolset to render final visual image assets. It supports mapping directional edges to illustrate dependencies and organizing related components into named clusters or subgraphs to represent architectural boundaries
KityMinder is a web-based mind map editor that runs entirely in the browser, letting users create and edit hierarchical diagrams without installing any software. It automatically syncs mind maps to the cloud, keeping them accessible across devices and sessions. From the same interface, users can generate a public link that allows others to view the mind map immediately in their own browser. The editor provides a desktop-like interactive experience with drag-and-drop node manipulation, inline text editing, and an undo/redo history that tracks each action. All changes are persisted remotely, en
Visualize call graph of a Go program using Graphviz
Rough is a graphics library designed to render shapes and paths with a hand-drawn, sketchy aesthetic on web pages. It functions as a generator for informal visual styles, allowing developers to create illustrations and diagrams that mimic the appearance of human-drawn sketches. The library distinguishes itself by using procedural rendering to calculate randomized offsets for lines and curves, simulating natural imperfections. It employs deterministic seeding to ensure that these variations remain consistent across renders, while providing hachure-based texture filling to apply stylized shadin
Peity is a lightweight SVG data visualization library that transforms numeric text content and HTML attributes into small pie, donut, bar, and line charts. It functions as an attribute-driven renderer and a progressive enhancement tool, adding vector graphics to web pages by reading data directly from the DOM without requiring heavy JavaScript frameworks. The library supports custom drawing functions and dynamic color assignments, allowing for the registration of new chart types and the use of custom functions to determine segment colors. Its capability surface covers the rendering of mini d
Butterfly is an interactive graph visualization library and SVG-based diagramming engine used to build node-based workflow designers and visual flow editors. It provides a framework for rendering interconnected nodes, edges, and groups to model technical architectures, business processes, and data-driven workflows. The project is distinguished by its ability to integrate custom UI components as graph nodes and its specialized support for data lineage visualization. It enables the mapping of relationships between data fields, tables, and business entities to track provenance and monitor workfl
This project is an automation suite comprising an AI visual asset generator, a browser-based social publisher, an Electron resource extractor, and a Markdown content transformer. It functions as a content automation pipeline that uses large language models to generate text and images for distribution across social media platforms. The system distinguishes itself through specialized visual generation capabilities, producing professional infographics, slide decks, educational comics, and SVG diagrams via structured prompts. It also features a dedicated workflow for extracting resources from Ele
vx is a declarative charting framework and SVG data visualization library. It serves as an integration layer that combines D3 mathematical scales and shapes with a component-based UI for rendering visualizations. The project provides a set of building blocks for constructing custom charts and diagrams using React components. It bridges mathematical data and visual representation by utilizing low-level primitives to manage scalable vector graphics without manual document object model manipulations. The library covers a broad capability surface including custom chart development, declarative S
This project is a renderer and theme engine for Mermaid.js that converts diagram syntax into styled SVG graphics and ASCII text. It provides a type-safe diagram editor and a pipeline for transforming diagram source code into scalable vector graphics or plain text visuals. The system features a dedicated theme engine that maps editor colors and CSS variables to diagram elements. It enables dynamic diagram theming through CSS custom properties for real-time color updates and supports index-based styling to override the appearance of specific nodes and edges. The tool covers a range of visualiz
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.
Icones is a client-side icon browser and management tool that lets you search, preview, and download icons from the Iconify ecosystem. It provides instant fuzzy search across thousands of icons from multiple collections, all performed locally in the browser without server round-trips. The tool enables you to filter icons by category, bookmark individual icons or entire collections for later use, and download icons as SVG files. A distinctive capability is the ability to pack selected icons into a custom icon font file, generated on the client side using WebAssembly-based font compilation. Ic
SVGEdit is a browser-based SVG editor and canvas engine used for creating and modifying scalable vector graphics files. It provides a web interface for vector design and functions as an embeddable editor that can be injected into HTML elements within other web applications. The project allows for the development of custom SVG tools and the construction of bespoke vector graphics editors by utilizing its standalone drawing engine.
Flowchart.js is a JavaScript library that converts a simple text-based domain-specific language into SVG flowcharts. It parses DSL keywords to define node types such as start, end, operation, condition, parallel, and subroutine, then renders them as distinct SVG shapes connected by directional paths. The library distinguishes itself through its styling and interactivity capabilities. It supports applying CSS classes to SVG elements for external stylesheet overrides, as well as inline attribute overrides for per-node and per-edge visual properties like fill, stroke, and font. Flowchart.js also
drawio is a web-based diagramming tool and cross-platform visual designer used for creating flowcharts, network maps, and technical schemas. It functions as a vector graphics editor and an XML-based diagramming engine that allows users to design and export scalable graphics. The software supports a wide range of technical design tasks, including infrastructure mapping for server layouts and the creation of visual aids for technical documentation. It enables the import of diagram files from other tools to facilitate cross-tool migration.
This library is a finite state machine framework for JavaScript designed to manage application states and valid transitions. It provides a system for executing state changes with lifecycle hooks, conditional guards, and transition cancellation. The project is distinguished by its ability to inject state machine logic and transition capabilities directly into existing JavaScript class instances or objects. It also includes a visualization tool that exports state configurations into Graphviz DOT language for auditing system logic. The framework covers asynchronous transition execution and paus
This project is a collection of configuration suites and plugin bundles designed to transform the Vim text editor into a full development environment. It provides a curated set of settings, themes, and extensions to support system administration and software development. The environment is specialized for polyglot programming and Markdown authoring, featuring a dedicated Python development toolkit. It includes tools for converting Markdown to HTML for browser previewing and integrates Graphviz for rendering data visualizations directly from source descriptions. The configuration covers a bro
Org-roam is an Emacs-based note-taking system that builds a bidirectional network of plain-text notes, functioning as a personal knowledge base manager. It maintains both forward and backlink references in a SQLite database, automatically updated on file save, and uses persistent unique identifiers for notes instead of file paths to enable stable links across renames and moves. The system integrates directly with Emacs through custom interactive commands and hooks that access the database and buffer state, and it generates static graphs of note interconnections using Graphviz to reveal relati
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
Tablewriter is a Go library and tool for generating ASCII and Unicode tables from structured data. It functions as a multi-format table renderer, converting data into layouts for terminal output, Markdown, HTML, and SVG. The project distinguishes itself through the ability to embed nested tables within cells and merge adjacent cells horizontally or vertically. It also supports ANSI color application for headers, rows, and borders to style terminal user interfaces. The toolkit provides capabilities for mapping Go structs and slices into rows, loading and converting CSV files via a command-lin
Chafa is a terminal graphics library that converts images and animated GIFs into character art for display in terminal emulators. It supports multiple output formats including ANSI escape sequences, Sixel graphics, and Unicode block characters, making it a versatile tool for rendering images directly within the terminal environment. The library is built as a shared C library with official bindings for Python and JavaScript, allowing developers to integrate terminal image rendering capabilities into applications across different programming environments. Chafa handles the full pipeline from im
javascript-in-one-pic is a visual reference guide and cheat sheet that provides a high-level graphical overview of the JavaScript programming language. It maps core syntax and fundamental building blocks into a single diagram to serve as a comprehensive language overview. The project functions as a syntax reference and learning tool, using programming language visualization to help users locate and review language rules in a condensed format. The guide is implemented as a resolution-independent SVG diagram that uses a grid-based hierarchical arrangement and visual-spatial mapping to illustra
VivaGraphJS is a JavaScript graph visualization library used to render interactive network diagrams and relational data in web browsers. It features a force-directed layout engine that employs physics-based simulations, using spring and charge models to calculate balanced spatial distributions for nodes and links. The library utilizes a modular rendering architecture that decouples mathematical layout logic from the visual output. This allows for interchangeable rendering pipelines, supporting both vector-based SVG diagrams and hardware-accelerated WebGL rendering for large-scale visualizatio
Supertux is an open-source 2D platforming game and game engine. It features a side-scrolling adventure where players navigate themed worlds and defeat enemies to reach specific goals. The project is designed for cross-platform availability, providing a consistent experience across desktop, Android devices, and web browsers. The browser version utilizes WebAssembly to allow immediate playback without local software installation. The software includes an integrated level editor and tools for custom level design, enabling the creation of unique game environments. Other capabilities include inpu
Readest is a cross-platform digital book reader and library management system designed to render multi-format ebook files across different devices. It provides a consistent interface for viewing digital content while coordinating reading progress, bookmarks, and notes through synchronization services. The application includes specialized tools for technical and academic reading, such as code syntax highlighting, a virtual split-screen viewport for comparing documents, and full-text search for rapid information retrieval. It further extends the reading experience with integrated dictionary loo
rmarkdown is a dynamic document generator and markdown rendering engine used to create reproducible reports, analysis, and websites. It functions as a literate programming tool that weaves narrative text with live executable code and data, ensuring that visual results are tied directly to the source code. The project serves as a multi-format rendering engine and content publisher, utilizing a Pandoc-based conversion framework to transform a single source file into diverse outputs such as PDFs, HTML pages, and presentation slides. It integrates with Knitr to execute code blocks and capture out
Sphinx is an extensible documentation framework and multi-format document publisher. It serves as a technical content organizer that converts reStructuredText markup and Python source code comments into structured documentation for technical projects. The system transforms a single set of markup files into multiple output formats, including HTML, LaTeX, EPUB, and Texinfo. It functions as a Python API documentation tool, extracting documentation directly from source code to maintain synchronized technical reference manuals. The framework organizes complex information into hierarchies with aut