Mermaid flowcharts

Mermaid in the top bar takes a Mermaid flowchart: text starting with flowchart or graph, as written in documentation or by an AI assistant. A preview and a list of what will be converted appear as you type; Add flowchart adds editable flowchart shapes and connectors to this drawing, laid out in layers in the chart's direction, as one undo step. Open also takes .mmd and .mermaid files and shows them in the same dialog.

flowchart TD
    start([Start]) --> check{Paid?}
    check -->|Yes| ship[[Ship order]]
    check -->|No| remind[Send reminder]
    remind --> check
    ship --> done((Done))
MermaidBecomes
[text], (text)Process
([text]), ((text))Start/End (circles are drawn as start and end shapes, and reported)
{text}Decision
[[text]]Predefined process
[(text)]Database
{{text}}Preparation
[/text/]Input/Output
@{ shape: doc }, docs, delayDocument, Documents, Delay
SubgraphsFrames
Link textConnector labels

Styles, click actions and dotted or thick strokes are listed as left out or changed. If a line cannot be read, the dialog names its line and column and nothing is added. In a top-down chart the shapes connect at their top and bottom. Flowchart labels use the bundled handwriting font, or Arabic when the text is Arabic; text in scripts the fonts lack is refused with its line.

Automatic layout

Lay out, in Arrange, places the selected objects in layers along the connectors and attached arrows that join them: top to bottom, left to right, bottom to top or right to left, keeping the selection's top-left corner. Groups, and frames with their objects, move as one; attached arrows and connectors follow. One undo restores the previous positions. Connectors drawn with right-angle routing leave and enter each port away from its shape and go round shapes rather than across them. Laying out top to bottom (or bottom to top) also switches the flowchart shapes it arranges to connect at their top and bottom, and says so.

Excalidraw and draw.io

Open reads Excalidraw drawings (.excalidraw) and draw.io drawings (.drawio, or draw.io .xml). Before anything changes, a report lists what was converted, what was converted with a difference (a hatched fill drawn solid, a bent connector drawn straight, a shape SimpleDraw does not have drawn as a rectangle) and what was left out (embedded web pages, pictures linked from the web, links). Choose Open drawing to continue, through the usual offer to keep unsaved work, or Cancel to leave your drawing as it is.

  • Rectangles, ellipses, diamonds, text, labels inside shapes and on arrows, arrows with their attached ends, bends, elbow and curved connectors, arrowheads, pen strokes, pictures stored in the file (with their crops), frames, groups, locks, rotation, opacity and the canvas colour come across. Every draw.io page becomes a page, and draw.io tables become real tables.
  • Fonts keep their kind: handwriting fonts become Kalam, plain fonts (Helvetica, Arial, Nunito and similar) Noto Sans and code fonts Noto Sans Mono; any other font is drawn in Noto Sans and reported.
  • The result is an ordinary SimpleDraw drawing, and files are never sent anywhere.