by ttd on 3/12/25, 2:14 PM with 79 comments
I'm guessing for a lot of people draw.io and Excalidraw are probably the go-to. If you use draw.io (or something else), what do you like about it, or what do you wish was better?
[1] - https://app.vexlio.com/ for the curious
by shagie on 3/12/25, 4:22 PM
Graphviz - same basic reason as Mermaid, though no markdown support. Versioning text is a lot easier than versioning binaries.
Draw.io - if you've got to have a binary, this is it. In particular, it allows you to embed the drawing information in the image so that you can import a .png file into draw.io and get the drawing.
by ajkjk on 3/12/25, 2:31 PM
If you made math stuff easy to draw I'd use your tool in a heartbeat. Unfortunately there's probably not a large market for that sort of thing.
by brylie on 3/12/25, 2:26 PM
by flaminHotSpeedo on 3/12/25, 2:27 PM
by hiAndrewQuinn on 3/13/25, 9:29 AM
There are a few good options in the code to SVG (PNG, JPG, whatever) space besides Mermaid. The venerable graphviz has been around since the 90s, I think, and uses the DOT language. The newer D2 language probably has the nicest overall aesthetics as well: https://play.d2lang.com/
by atoav on 3/15/25, 10:09 AM
schemdraw (python library) is a library for drawing beautiful circuit diagrams. It has a surprisingly effective flowchart part as well, that allows you even to draw custom beziers arrows and stuff. You can do manual positioning of everything, which is sometimes an anonoyance with mermaid. Outputs to svg or png. https://schemdraw.readthedocs.io/en/stable/
matplotlib (python library), people know it for drawing charts and such things, but if you want to build your own drawings that deviate strongly from existing solutions, all the drawing primitives are in there. See for example: https://matplotlib.org/matplotblog/posts/mpl-for-making-diag...
And for just wrapping your head around something, a piece of paper and a sharpened pencil are surprisingly effective at not wasting your time.
by gmuslera on 3/12/25, 2:38 PM
by Octoth0rpe on 3/12/25, 2:23 PM
It's really useful for embedding diagrams in your code. Not so much for uses outside of code though.
by viraptor on 3/12/25, 4:45 PM
Draw.io is OK too, but the interaction is much slower when editing. The strict position/shape of arrows makes me want to clean things up way more than necessary and waste time.
I'd maybe consider miro or draw.io if I was working on something with other people and expected lots of edits and change history.
Mermaid is an interesting concept, but putting things in the reasonable location can be next to impossible and a single new connection can blow up the whole layout. And the integration is never quite polished - so many times I've been scrolling down a github page just to suddenly stop and resize a diagram. Then the panning/zoom is a bit clunky. (I know it's a client issue, but unless the defaults become reasonable, it's a mermaid issue too)
by jamesponddotco on 3/12/25, 8:21 PM
Recently, though, I've been using D2[3] a lot and really liking it. The diagrams don't look as aesthetically pleasing to my eyes, but being able to design everything with a simple language is pretty cool, and helps with automation.
[1]: Datadog owns Cloudcraft, hence the bias. Plus, I work in the Cloudcraft team, haha.
[2]: https://www.cloudcraft.co
[3]: https://d2lang.com
by rednafi on 3/15/25, 4:54 AM
For freehand drawing, to me, nothing beats Excalidraw[2]. I use it for pretty much everything—from system design work to planning a project and explaining a concept. Such a wonderful tool from the Czech Republic.
by bqmjjx0kac on 3/12/25, 2:24 PM
by mindcrime on 3/12/25, 2:20 PM
[1]: https://www.openoffice.org/product/draw.html
[2]: https://www.archimatetool.com/
[3]: https://graphviz.org
by bitozoid on 3/15/25, 7:35 AM
- To be open source, or open specification/format.
- Easy eaditable (gui/tui/source), that is, primitives. I don't want to edit a text based diagram with a text editor (emacs artist mode).
- Free design features, so I have some control on the presentation.
- Render to text diagram as a first class feature, so it can be integrated in source code/control. From text rendering it can easily be converted to vectorial/raster.
- CLI to render.
- DSL, better with geometric (position, size) and styling features (color, bold face, ...).
I have found nothing that meets these criteria.
I'm actually using https://metacpan.org/pod/App::Asciio as the best approach.
by eb0la on 3/12/25, 4:56 PM
by shagmin on 3/12/25, 2:36 PM
by argoeris on 3/12/25, 4:11 PM
It connects to your system using OpenTelemetry and it lets you automatically document all the components, dependencies, APIs, etc. I prefer it to static, drag and drop whiteboards because I get immediate visibility without having to waste time moving boxes and arrows.
(Of course you can still create sketches if you want, but the real value is in getting the information you need immediately)
by mkl on 3/15/25, 10:17 AM
Some quick notes about your app:
- No touch zoom/pan. Apart from that it worked okay on a Galaxy Note phone with the pen.
- I managed to make a shape vanish by (I think) rotating it quickly. I couldn't repeat that.
- The polyline selection seems quite broken. Draw a shape, then draw a polyline around it. Now you can't select the first shape, even though it's not obscured by anything.
by Ancapistani on 3/12/25, 2:53 PM
Increasingly, I'm describing my diagrams to an LLM and letting _it_ generate the Mermaid.
by Eddy_Viscosity2 on 3/13/25, 1:56 PM
by cratermoon on 3/12/25, 2:37 PM
The diagrams I draw are all done with something like graphviz, plantuml, mermaid, Structurizr, or d2.
Very rarely I'll use excalidraw to throw together a one-off.
by dp-hackernews on 3/12/25, 4:06 PM
by nunez on 3/12/25, 7:15 PM
For Enterprise-Grade Slideware™, I'll use either Lucidchart or draw.io.
For my personal projects, I'll use Mermaid.
by rthnbgrredf on 3/12/25, 6:55 PM
Draw a circle, add a label to the circle, draw a box right to it, draw an arrow from the circle to the box, and so on.
by fosco on 3/13/25, 3:36 AM
In a pinch and when on a call, it’s always Microsoft paint.
by simonsarris on 3/12/25, 3:59 PM
Of course, its made for developers trying to make applications, not end users.
by nextts on 3/15/25, 5:52 AM
by mapmap on 3/15/25, 8:24 AM
by Aeolun on 3/12/25, 2:22 PM
by outer_web on 3/15/25, 2:23 PM
by cj on 3/12/25, 2:22 PM
by fullstackwife on 3/15/25, 6:22 PM
by schmookeeg on 3/12/25, 3:00 PM
by valbaca on 3/12/25, 9:59 PM
very rarely use mermaid, but good for some simple README/markdown style diagrams.
by c-smile on 3/15/25, 5:28 AM
by epirogov on 3/15/25, 4:04 PM
by mannyv on 3/12/25, 5:41 PM
by brunooliv on 3/12/25, 2:25 PM
by manishsharan on 3/15/25, 4:55 AM
I have tried Graphviz but the diagrams looked shoddy.
by sathomasga on 3/12/25, 6:13 PM
by theyknowitsxmas on 3/12/25, 2:46 PM
by PaulHoule on 3/12/25, 2:26 PM
by thatxliner on 3/15/25, 5:18 AM
by rcarmo on 3/13/25, 8:13 AM
by ranger_danger on 3/12/25, 3:23 PM
by a9ex on 3/12/25, 2:26 PM
by mkranjec on 3/12/25, 2:50 PM
by olea on 3/12/25, 4:48 PM
by stfp on 3/12/25, 2:42 PM
by andyjohnson0 on 3/13/25, 9:52 PM
by Jack5500 on 3/12/25, 2:29 PM