Back Send feedback to ilkka.kuivanen@me.com

Why Creating Diagrams is Hard (and How PlantUML/Mermaid Can Help)

Problem

Creating diagrams is often a lot of work. While they are useful for conveying complex ideas visually, several issues make the process cumbersome:

Solution

PlantUML is a simple and efficient way to create diagrams using relatively simple syntax. Instead of relying on drag-and-drop tools, PlantUML lets you define the structure of your diagrams and then automatically render them. This approach addresses many of the challenges:

Another widely used option is Mermaid which has 1st party support e.g. in Webstorm.

On related note, I built an application called Selkie to help me with authoring Mermaid diagrams.

Bonus

I really like Gantt diagrams for planning. Here's one in PlantUML:

' https://plantuml.com/gantt-diagram
@startgantt Example
saturday are closed
sunday are closed
Project starts 2025-07-01
<style>
ganttDiagram {
task {
BackGroundColor GreenYellow
LineColor Green
}
undone {
BackGroundColor red
}
}
</style>
' starts -> ends
[Example1] starts 2025-07-03
[Example1] ends 2025-07-04
' starts -> lasts
[Example2] starts D+4
[Example2] lasts 5 days
' starts -> requires
[Example3] starts 2025-07-10
[Example3] requires 5 days
' requires -> ends
[Example4] requires 10 days
[Example4] ends 2025-08-04
' starts at x's end
[Example5] starts at [Example4]'s end
[Example5] lasts 2 days
' Alias
[Example6] as [E6] starts at D+40
[E6] lasts 10 days
' Progress
[E6] is 40% completed
' Milestone
[Example7] happens at [E6]'s end
' Highlight date range
2025-08-20 to 2025-08-27 are named [Demo days]
2025-08-20 to 2025-08-27 are colored in salmon
@endgantt

And here's how it looks like:

Gantt example
Figure: Gantt example in PlantUML.