33
votes
What diagramming tools do folks use?
I've gotten very tired of fighting the GUI of my company's self-hosted charts.io instance, so I've been looking around at diagramming tools. I saw D2 posted on Hacker News, which seems like an interesting option, but I'm curious if anyone around here has a beloved tool to recommend.
I think my main use-case would be diagramming how components of a software system go together, although sometimes I'm interested in making wiring diagrams and stuff, too. Something that lets you specify overall dimension constraints for diagrams would probably help, since I often need to throw a diagram into a PowerPoint.
Excalidraw for prototyping, the vscode extension allows me to save files as
file.excalidraw.png, and have an image that I can embed on Markdown, while being editable.When I want to create docs, I use mermaid, I have to say, AI is very handy to get an initial diagram of some code that I will clean up later by myself.
I forgot to mention, the reason for using mermaid, is because it's already supported on GitHub comments or PR descriptions, which is very handy.
Seeing the mentions for Exalidraw compared to draw.io made me scratch my head for a minute because it's so much more limited.
But then I saw that you can use Ctrl+↓ (or any arrow key) when focused on a shape to generate flowcharts. That's huge, since I use draw.io for that a lot. I might still export to draw.io (one way or another) to add finishing touches if I'm making something for formal presentation, but what a time saver for general use.
This is exactly what I would have written, too.
Maybe it's just me but I really soured on mermaid after the official online editor/renderer got gated behind a login that aggressively tries to get you to sign up for a paid plan.
I tried to use it yesterday and it prompted me to start a free trial. I just left. It's hard to believe there is only a trial available before having to pay. Perhaps it's more permissive than I was led to believe. But I didn't stay around long enough to find out.
/endrant
Mermaid is a good diagram code solution. And there are other editors.
I was super confused about this, because I was just using the live editor last week and was like "WHAAAT? They are taking it away??". Oddly enough, they seem to have 3 different entry points to live editors, and it's not clear to me who owns what:
Super weird that there are so many paths here.
I relied on PlantUML for diagrams (primarily UML) throughout most of my higher education. I hated doing it on paper or in visual programs because my diagrams, which I generally draw while still trying to figure out what I'm doing, would always end up oddly laid out. Oftentimes, I would run out of room and be forced to start over or spend a while reorganising everything by hand.
I also hated how most diagram software were actually just vector software. Stuff like draw.io and Excalidraw just lets me draw lines, boxes and text ; actually putting those together in a way that resembles UML is up to me, the very error-prone user. By the end, my diagrams would have zero visual consistency.
Text-based diagram software is nice because I can just write down the objects I'm thinking about and the important details about them and the software takes care of the layout and rendering ; not always in a perfectly readable way, mind, but skin parameters helped and it was better than my average. It's much easier to modify, too. My professor wasn't too pleased since PlantUML doesn't perfectly follow UML standards, but it saved me a ton of time and let me deliver more readable diagrams on average.
I only heard about Mermaid, which is similar, later but I don't fully understand how to use it, and I found it sadly lacks some of the features I use often in PlantUML. Maybe I'll learn one day? My one issue with both right now is that I'm working with Godot a lot nowadays and I still haven't found something that would let me make 'node tree diagrams'. Class diagrams don't really fit.
In other news, Excalidraw is still quite good for less formal usage. I use it often when I need to scribble something down, either to share with teammates or just to leave in an Obsidian note.
I use PlantUML every day for work
Love that I can check it into a github repo
Not being able to version control diagrams is a pretty big problem. Code diagrams change within the lifecycle of the code. It naturally belongs within the same workflow.
I've used draw.io for a whole, it's been solid, but I can't compare it to any of the other tools listed in this thread.
I saw a ShowHN about this Mermaid-based tool this morning. It might be worth looking into:
https://github.com/RohanAdwankar/oxdraw
I’ve tried using Mermaid and PlantUML for diagramming system execution flow to limited success - ideally I’d like to have a system where I can dump the text details of my system into an LLM and have it convert that into a format that will auto-render, like the above two, and then I can manually tweak it to make it look pretty and readable. Haven’t had great success with that strategy so far, Gemini and Claude 4.5 at least are pretty terrible with niche markdown langs and end up hallucinating syntax. I’ve ended up making the diagrams by hand with Miro, which my work provides. It’s ok enough to get the job done, (I do love the auto-margining system it has to make everything symmetrical and regular), but it still leaves me wanting.
I had pretty good success with ChatGPT generated Mermaid plots. I had to do some revisions to get it exactly how I like it, but it got it 90% of the way there.
I find the Mermaid syntax to be pretty simple too, so it’s not very difficult to make my own after seeing how ChatGPT put it together.
I've been a fan of lucidchart for work stuff for years. Straightforward, usable, and interactive/shareable. Has all the various shapes you'd need with options for grabbing images when you want something niche. Great for professional software use.
Though I'm not loving their recent AI nonsense push, but hard to find vendors free of that crap.
I keep flipping between a bunch. The one we use most often at work for documentation is Archie, which is nice but it can be a bit inflexible since it has to adhere to ArchiMate rules. I also like using Obsidian's Canvas for some simple personal things - it also helps that I can link to my notes in it. I use straight up vector graphics with either Inkscape or Affinity Designer when I need to illustrate something more complicated that simply doesn't look good in regular diagramming software. Other than that I poked at a bunch of others, such as Diagrams.net, Excalidraw, Mermaid... None really stuck around for long though.
I like text-based tools. Here's a great resource:
This is the first one I started using and I think the design is tidy: https://swimlanes.io/
Ok, my solution to draw diagrams is... how to say it..
quite unorthodox. I use Excel. I very much prefer to enter detailed text descriptions for some diagram steps, and funny enough only Excel allows me to enter long texts with different colors/formatting.
Don't worry, you're only the 5 millionth person to use excel beyond what it is intended to do.
(I am guilty of this in other ways due to past enterprise shenanigans.)