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.

18 comments

  1. [6]
    marcus-aurelius
    Link
    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...

    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.

    16 votes
    1. marcus-aurelius
      Link Parent
      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.

      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.

      6 votes
    2. ShroudedScribe
      Link Parent
      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...

      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.

      2 votes
    3. F13
      Link Parent
      This is exactly what I would have written, too.

      This is exactly what I would have written, too.

      1 vote
    4. [2]
      nonethewiser
      Link Parent
      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...

      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.

      1 vote
      1. Mendanbar
        Link Parent
        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...

        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:

        1. mermaid.live - This is the one I've been using, and it doesn't require login or bug me in any way (just an unobtrusive banner at the top that is easily dismissed).
        2. mermaid.chart/play - Found this one today while trying to make sense of it all. It appears to be the same thing as mermaid.live, but none of my preferences are carried over (maybe different cookies?)
        3. The "Try Editor" button on mermaid.js.org. This one brings up a signup. I've never used this entry point, and I'm not about to sign up now, so I can't confirm if the editor is the same as the others.

        Super weird that there are so many paths here.

        1 vote
  2. [3]
    Trobador
    Link
    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...

    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.

    9 votes
    1. [2]
      VoidSage
      Link Parent
      I use PlantUML every day for work Love that I can check it into a github repo

      I use PlantUML every day for work

      Love that I can check it into a github repo

      1 vote
      1. nonethewiser
        Link Parent
        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.

        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.

        1 vote
  3. goose
    Link
    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'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.

    8 votes
  4. clayh
    Link
    I saw a ShowHN about this Mermaid-based tool this morning. It might be worth looking into: https://github.com/RohanAdwankar/oxdraw

    I saw a ShowHN about this Mermaid-based tool this morning. It might be worth looking into:

    https://github.com/RohanAdwankar/oxdraw

    3 votes
  5. [2]
    hereweare
    Link
    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...

    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.

    3 votes
    1. ackables
      Link Parent
      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...

      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.

  6. 1338
    Link
    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...

    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.

    3 votes
  7. hamefang
    Link
    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...

    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.

    2 votes
  8. xk3
    Link
    I like text-based tools. Here's a great resource: https://xosh.org/text-to-diagram/ This is the first one I started using and I think the design is tidy: https://swimlanes.io/

    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/

  9. [2]
    Deely
    Link
    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...

    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.

    1. ShroudedScribe
      Link Parent
      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.)

      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.)