Stormtoplan

Surface analysis · issued in your browserUplink: none · Account: none · Price: 0

Diagram editor · Mermaid, PlantUML, Graphviz, SysML v2, draw.io

Storm in.
Plan out.

Type the mess in your head as diagram text and watch it settle into a clean drawing. All of it happens on your own machine: nothing is uploaded, nothing is tracked, nobody asks you to sign up.

Open the editor Read the manual →

SURFACE ANALYSIS · 12 UTC ISSUED LOCALLY 1000 1004 1008 1012 1016 L 992 Text Diagram Export
Fig. 1 — Surface analysis. Low pressure over the writer, clearing to the east. No uplink.
01

Check it yourself

Most online diagram tools post your text to a server and send a picture back. This page is built so that it cannot. Three ways to confirm that without taking our word for it.

The browser enforces it
The page ships with a Content Security Policy that forbids every outgoing connection. Your browser reads that policy before it runs a single line of our code, and from then on refuses to let the page talk to any server. The page has no way to upload your diagram.
connect-src 'none'
form-action 'none'
Pull the plug
Open the editor, switch off your Wi-Fi, keep drawing. Rendering, converting and exporting all run on your device. Open each format once before going offline so that its renderer is loaded.
Read the code
It is plain, readable JavaScript. Open your browser's developer tools, or “view source”, and look. Every library ships with the page. No fonts, analytics or ads are fetched from anywhere else.
02

Five formats, one desk

Pick a format and write. The drawing follows every keystroke.

Mermaid

Flowcharts, sequence, class, state and ER diagrams, Gantt charts, mind maps and more.

flowchart LR
  A[Idea] --> B{Ready?}
  B -->|yes| C[Ship]

PlantUML

The UML classic, rendered locally. No PlantUML server anywhere in the loop.

@startuml
User -> App : text
App --> User : SVG
@enduml

Graphviz / DOT

Name the nodes and edges, Graphviz works out where they go.

digraph G {
  Editor -> Renderer;
  Renderer -> SVG;
}

SysML v2

Systems modelling as text: structure, action flows, state machines, use cases, requirements.

part def Vehicle {
  part engine : Engine;
}
part def Car :> Vehicle;

draw.io

Open .drawio files, draw with the mouse, and convert them to and from the text formats.

<mxCell value="Start"
  style="ellipse;"
  vertex="1">

SysML v2 covers a practical subset of the textual notation: structure, action flows, state machines, use cases and requirements. The draw.io preview is simplified: shapes, colours, labels and arrows are drawn, images and exotic shape libraries are approximated.

Mermaid, PlantUML, Graphviz, draw.io and SysML are names of their respective owners. Stormtoplan is an independent project and is not affiliated with, endorsed by or sponsored by them.

03

Convert, and see what was lost

Change the format in the editor and the diagram is converted on the spot. Formats never match exactly, so nothing is dropped quietly: every line that could not be carried over is listed with its line number and the reason. Switch straight back and your original text returns unchanged.

PlantUML in

@startuml
skinparam monochrome true
actor User
User -> App : open file
== Phase 2 ==
App --> User : preview
@enduml

Mermaid out

sequenceDiagram
  actor User
  participant App
  User->>App: open file
  Note over User,App: Phase 2
  App-->>User: preview

Not carried over (2)

  • Line 2skinparam monochrome truestyling and layout settings are not converted
  • Line 5== Phase 2 ==separators do not exist in Mermaid; approximated by a note over all participants
What can be converted into what
DiagramMermaid ↔ PlantUMLGraphvizdraw.ioSysML v2
Sequenceboth ways–––
Flowchart, activityboth waysboth waysboth waysboth ways
Classboth waysone wayone wayone way
Stateboth waysone wayone wayboth ways
Entity relationshipboth waysone wayone wayone way
Mind map, WBSboth waysone wayone way–
Ganttboth ways–––
Use case, componentPlantUML → Mermaidone wayone wayboth ways (use case)

“One way” means the result is a graph or a SysML model that you can keep editing, but it cannot be turned back into the original diagram type; switching straight back in the editor restores your original instead. Graphviz and draw.io convert into each other in both directions, and SysML converts to Graphviz and draw.io as a graph. Towards Mermaid and PlantUML a SysML text becomes a class, state, activity or use case diagram, depending on which kind of element it holds most of; the rest is named in the loss list. Flowcharts with decisions or start and end points become SysML action flows. When no direct route exists, the conversion runs in steps and the loss list covers every step. Types without a counterpart (for example Mermaid timelines or pie charts) are refused with an explanation.

Guides: PlantUML to Mermaid · Mermaid to PlantUML · PlantUML to draw.io · Mermaid to draw.io · PlantUML viewer · Mermaid viewer · draw.io viewer

04

What is on the desk

Start drawingManual →

05

Questions

Is my diagram really never uploaded?

Correct. Rendering happens in your browser, and the page's security policy forbids outgoing connections. Your diagram text is kept only in your browser's local storage.

Does the website itself collect anything?

The site is hosted by Cloudflare, which, like any host, sees your IP address when you load a page. There is no analytics, advertising or tracking script. Details are in the privacy policy.

How reliable are the conversions?

They cover the common features of each diagram type and say so when something is left out. Check the preview after converting, and read the list of what was not carried over. Your original is kept, so Undo and switching straight back are always safe. Converted results are provided as is, without any guarantee that they are complete or correct.

Which browsers work?

Current Chrome, Edge, Firefox and Safari. The renderers use WebAssembly, so very old browsers are not supported.

Why the name?

Because that is the job: the storm in your head goes in, a plan comes out. The chart up top is the same thing drawn as weather.

How do I report a bug or ask for a feature?

Use the Feedback link in the editor or on this page. It opens an email to us.