I see many things as graphs: project's tasks, program execution flow, etc. I'd like to be able to draw those conveniently on my PC instead of drawing on paper.

Predicted most used features:

  1. creation of an independent vertice
  2. moving a vertice freely (no automatic organizing if I don't explicitly want)
  3. naming & renaming a vertice
  4. connecting vertices with directed or undirected edges
  5. reshaping an edge
  6. labeling an edge
  7. adding an unattached from one side edge (I will want to indicate that something comes there, and maybe label the edge, but not know what will be on the other side yet)
  8. moving a group of vertices

There are many mind mapping tools that work quite well, but creation of independent nodes is hard or impossible and they force their own organization into a tree (visually, some allow internal edges). Custom vertices positioning is an additional information that I want there.

Priorities are: convenience of creation and freedom of placement/organization. Bonuses: adding notes, urls, colors and other formatting, a desktop app, an android app.

  • I found yEd that works quite well: yworks.com/products/yed/applicationfeatures Seems like a graph tool with a variety of nodes (UML like and such). It doesn't seem to have unattached edges though and creation of a new vertice is not as fast as I'd like.
    – Ctrl-C
    Commented Jun 29, 2018 at 16:36
  • A real graph (in the mathematical sense) can't have an edge that doesn't connect two vertices. If you need an edge where one end is "unknown", then simply create a vertex for that end and label it "unknown", or use a particular shape of vertex which will serve as your null vertex.
    – John Y
    Commented Jul 12, 2018 at 19:53

1 Answer 1


You can do many of these things using mermaid.js, a simple markdown-based diagramming and charting library. Various markdown editors, such as Obsidian, Notion, Joplin, and the GitHub editor, support the use of mermaid diagrams in normal notes, or you can use their online live editor (free, at least for now?).

Here's a very simple graph I made for a recent research note of mine (sorry for the gloomy topic):

flowchart TD
A[Demographics] ---> B([Depressed]) ---> C[MDD Diagnosis]
A ---> C
B ---> D[Suicide]
B ---> E[Job loss]
A ---> D
A ---> E
C -..-> B
E -..-> B

And this is how it renders:

enter image description here

You can do all sorts of other graphs with mermaid as well, including e.g. gantt charts, timelines, mindmaps, class diagrams, etc. Also note that it does automatic node placement / link routing, which I have found to work quite well even for really complex graphs.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.