Graphviz: Open-source graph visualization software

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. schema

    get a dot file from a postgres database schema (by enter-haken)

    I use graphviz to get a quick postgresql schema overview (good for small to medium databases)

    https://github.com/enter-haken/schema

  2. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
  3. mermaid

    Generation of diagrams like flowcharts or sequence diagrams from text in a similar manner as markdown

    Dendron[1] note taking extension for VS Code has Mermaid support builtin to its markdown renderer as well.

    That's how I recently found that Mermaid can't handle graphs with no flow https://github.com/mermaid-js/mermaid/issues/1227

    [1] https://wiki.dendron.so/notes/ba97866b-889f-4ac6-86e7-bb2d97...

  4. plantuml

    Generate diagrams from textual description

    I used to generate most of my diagrams in PlantUML[0], but recently found that my not-taking app, Joplin[1], has Mermaid built in.

    PlantUML has the benefit that you can include it in your builds, e.g. parse any .plantuml files in `make doc` or in your CI.

    But I like Mermaid more: its easier to read, less quirky and easily integratable in the markdown (or note-taking apps) without the need for extra build steps.

    [0] https://plantuml.com/

  5. Graphia

    A visualisation tool for the creation and analysis of graphs

    A fast 3D alternative for visualizing large graphs is Graphia: https://github.com/graphia-app/graphia https://graphia.app However, it's currently suffering from the Qt switch from 5 to 6.

    Regarding Graphviz itself, I wonder why is there no special layout logic for planar graphs? They can be recognized and embedded on the plane in linear time without intersecting edges, so it would be very nice if some of the Graphviz tools actually did that.

    A recent set of minimal graph coloring Graphviz visualizations of mine: https://gitlab.com/nsajko/example_optimally_colored_graphs

  6. Cytoscape.js

    Graph theory (network) library for visualisation and analysis

    Not sure what you mean, you can install it other ways, and the dist is packaged up in a variety of ways. (https://github.com/cytoscape/cytoscape.js)

  7. graphviz

    "Very poor" seems harsh, but, yes, it hurts us, too. (That, and text with slightly-off baselines.)

    The relevant code starts around https://gitlab.com/graphviz/graphviz/-/blob/main/lib/common/... If this isn't right, maybe somebody can figure out why. Perhaps the loop stops sometimes on the wrong side of the boundary? Anyway, it's equally possible that when the endpoint coord is handed off to a lower level driver, the arrowhead mitering is wrong. There is no question there was once upon time explicit code to try to cope with this problem, at least in the native PSgen, but I can't find it now. Maybe it wore away as waves of open source development washed over it, along with static tables for a bunch of "standard" PS fonts.

    For more background, see for example https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/s...

    In the worst case, this has to be debugged for all the drivers in https://gitlab.com/graphviz/graphviz/-/tree/main/plugin

    No doubt there are more details if anyone can remember them.

  8. roadmap

    Knowledge Roadmap Framework (alpha) (by srce)

    I used it for visualization on my project https://github.com/srce/roadmap/blob/master/stacks/java/data...

    .XML -> Python script -> .DOT -> Graphviz -> *.SVG

    It's very useful and probably the best example of using DOT language, unfortunately.

  9. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  10. sketchviz-docker

    Graphviz -> Sketchy PNG in one image, for automation

  11. viz.js

    Graphviz for the web (Viz.js on a diet) (by rapidlua)

  12. mdbook-graphviz

    Graphviz is one of my favorite tools. I use it for most of my diagraming https://github.com/dylanowen/mdbook-graphviz and I use it as debugging output when I'm working through graph problems.

  13. hpcc-js-wasm

    HPCC-Systems Web-Assembly (JavaScript)

  14. embedded-struct-visualizer

    Tool to visualize the graph of embedded structs in Go projects

    Graphviz made it really easy for me to plot dependencies in Go data structures! After I put together a lexer, Graphviz took care of all the difficult work of making sense of the data: https://github.com/davidschlachter/embedded-struct-visualize...

  15. Graphviz made it really easy for me to plot dependencies in Go data structures! After I put together a lexer, Graphviz took care of all the difficult work of making sense of the data: https://github.com/davidschlachter/embedded-struct-visualize...

  16. DFB

    A mini development environment for developing and troubleshooting the Cypress PSoC Digital Filter Block

    I've used GraphViz a number of times and highly recommend it as a standard tool on your belt. Having a stand-alone executable that can export to SVG is great.

    The most complex thing I've done with it [1]: a tool (MIT-license) that builds diagrams of the data and addressing pipeline for a DSP processor, and lets one 'scrub through' the assembler code frame by frame and see the values propagate through the blocks.

    Also PlantUML [2] uses it for most diagrams.

    Getting layout and positioning the way you want can be tricky but is usually achievable with patience and hidden objects.

    [1] https://github.com/paphillips/DFB

  17. A fast 3D alternative for visualizing large graphs is Graphia: https://github.com/graphia-app/graphia https://graphia.app However, it's currently suffering from the Qt switch from 5 to 6.

    Regarding Graphviz itself, I wonder why is there no special layout logic for planar graphs? They can be recognized and embedded on the plane in linear time without intersecting edges, so it would be very nice if some of the Graphviz tools actually did that.

    A recent set of minimal graph coloring Graphviz visualizations of mine: https://gitlab.com/nsajko/example_optimally_colored_graphs

  18. PMapper

    A tool for quickly evaluating IAM permissions in AWS.

    I maintain an open-source project [1] that uses graphs to model data. I wanted to make my project as accessible as possible, so Graphviz was perfect since it's dead-simple to install and use on all major OS platforms.

    [1] https://github.com/nccgroup/PMapper

  19. flowchart-fun

    Easily generate flowcharts and diagrams from text ⿻

    Way fewer features but probably easier to use ~> https://flowchart.fun

    Exports to SVG, PNG, JPG

  20. beepb00p

    My blog!

    Graphviz is awesome!

    Here are a couple of my diagrams:

    https://beepb00p.xyz/blog-graph.html -- graph of my blog pages with tags/connections between posts, generated with a DSL-ish python script https://github.com/karlicoss/beepb00p/blob/master/misc/index...

    https://beepb00p.xyz/myinfra.html -- map of my personal data & infrastructure (discussed a year ago https://news.ycombinator.com/item?id=26269832 ). Also a similar DSL https://github.com/karlicoss/myinfra/blob/master/generate.py

    The main downside for me is that sometimes it gets the positioning wrong, and you can see how it can be easily fixed, but it's hard to convince graphviz to actually do so. Basically I'd love a tool where I can do 10% of positioning manually and let the rest be constraint based like in graphviz.

  21. myinfra

    A diagram of my personal infrastructure

    Graphviz is awesome!

    Here are a couple of my diagrams:

    https://beepb00p.xyz/blog-graph.html -- graph of my blog pages with tags/connections between posts, generated with a DSL-ish python script https://github.com/karlicoss/beepb00p/blob/master/misc/index...

    https://beepb00p.xyz/myinfra.html -- map of my personal data & infrastructure (discussed a year ago https://news.ycombinator.com/item?id=26269832 ). Also a similar DSL https://github.com/karlicoss/myinfra/blob/master/generate.py

    The main downside for me is that sometimes it gets the positioning wrong, and you can see how it can be easily fixed, but it's hard to convince graphviz to actually do so. Basically I'd love a tool where I can do 10% of positioning manually and let the rest be constraint based like in graphviz.

  22. PSGraph

    A set of utilities for working with Graphviz in Powershell

    PSGraph is a PowerShell module to dynamically generate dot files.

    I used it (with a various degree of success) to plot some diagrams for my personal usage.

    https://github.com/KevinMarquette/PSGraph

  23. Joplin

    Joplin - the privacy-focused note taking app with sync capabilities for Windows, macOS, Linux, Android and iOS.

  24. object_playground

    A tool for visualizing and experimenting with JavaScript object relationships.

    There's viz.js. I use it at objectplayground.com to visualize JavaScript object layouts. This file shows how I use it:

    https://github.com/jamesshore/object_playground/blob/master/...

  25. schemaspy

    Database documentation built easy

    In a similar vein there is Schemaspy[1]. It generates a static documentation website for your DB, which also uses GraphViz to build ER diagrams.

    [1] https://github.com/schemaspy/schemaspy

  26. src

    LPIC2 Exam Prep (by lpic2book)

  27. KeenWrite

    Discontinued Free, open-source, cross-platform desktop Markdown text editor with live preview, string interpolation, and math.

    My text editor, KeenWrite[0] renders Graphviz diagrams in near real-time. KeenWrite extends the functionality a little by allowing the use of variables inside the diagrams. In the example diagram[1], the 350 is a variable and its value is shown near the top.

    [0]: https://github.com/DaveJarvis/keenwrite

    [1]: https://i.ibb.co/CVfsJDh/hacker-news.png

  28. d3-dag

    Layout algorithms for visualizing directed acyclic graphs

    An alternative to dagre-d3 is d3-dag: https://github.com/erikbrinkman/d3-dag

    I've had good success with cytoscapejs as well, integrating with react so the graph will animate layout on transition. I use elk, which is apparently superior to sugiyama (the algorithm graphviz uses for force-directed dag layouts).

  29. hunter-376-docs

    Documentation of Hunter 376 systems

    Graphviz was excellent for documenting my sailboat's electrical, plumbing, and data networks: https://github.com/aaronaxvig/hunter-376-docs

    Odds are slim that its future owner will have the skills to work with such a resource. But I did leave a couple printouts on the boat before leaving it!

  30. graphme

    A Elixir Mix Task to generate a relationship graph of your project modules using the DOT language

    I love using Graphviz to document projects, because its just a text file that I can keep with the project on git.

    I also used it to make a small tool to generate the relationships of Elixir's modules: https://github.com/shiryel/graphme

  31. dot-to-ascii

    Graphviz to ASCII converter using Graph::Easy

    Note that the page is simply a wrapper of Graph::Easy [1], so nothing technically interesting to see in the repo - it just passes the HTML input to a command-line tool and prints the result.

    You can either use Graph::Easy directly on the command-line or you can use python to make an HTTP request to my page (example is shown in the README of [0]).

    [0] https://github.com/ggerganov/dot-to-ascii

    [1] https://metacpan.org/pod/Graph::Easy

  32. tbls

    tbls is a CI-Friendly tool to document a database, written in Go.

    Autogenerated database documentation is often pretty hit and miss but tbls[1] does a pretty good job in that space. Especially when you comment on your tables, fields, views, functions etc (which is a good habit anyway!) the output is quite useful

    [1] https://github.com/k1LoW/tbls

  33. gref

    Search, scrape, and render citation graphs.

    I love Graphviz, here's a citation graph tool I build with it:

    https://github.com/shanedrabing/gref

  34. tinc

    a VPN daemon

    will generate a real-time network graph using the Graphviz DOT language. It's a cool feature that I find quite useful.

    [0] https://tinc-vpn.org/

  35. sfgrantreport

    Discontinued Snowflake Grant Report offers a way of visualizing role hierarchy and rapid diagnosis of as-is permissions, giving customers insight without difficult discovery.

    I love graphviz!!!

    Used it as a helper in my first project at Snowflake (role hierarchy layout) https://github.com/Snowflake-Labs/sfgrantreport and won a nice hacking award for it. Then the product saw it and folded what I made into the main UI.

    Huge props to the graphviz for making it easy to draw my ideas from whiteboard into svg/pdf/png!

  36. sketchviz

    A command line clone of https://sketchviz.com/

    Haven't tried it yet, but this looks pretty spot on: https://github.com/gpotter2/sketchviz

  37. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • We need a flowchart editor that doesn't give you carpal tunnel

    10 projects | news.ycombinator.com | 19 Jun 2022
  • TIL: Diagrams as Python Code

    1 project | dev.to | 27 May 2025
  • [Practical] Create a Dynamic Infographic in 10 Minutes

    1 project | dev.to | 5 Mar 2025
  • System Design for DevOps Engineers

    1 project | dev.to | 26 Feb 2025
  • Building a financial dashboard with HTML5, TailwindCSS v4, and Vanilla JavaScript

    2 projects | dev.to | 11 Feb 2025

Did you know that JavaScript is
the 3rd most popular programming language
based on number of references?