Mermaid
Flowcharts, sequence, class, state and ER diagrams, Gantt charts and more.
flowchart LR
A[Idea] --> B{Ready?}
B -->|yes| C[Ship]
Diagram workshop, no server
Type Mermaid, PlantUML, Graphviz or SysML v2, or open a draw.io file. The drawing appears as you write, built inside your own browser. Nothing is uploaded, nothing is tracked, no account is needed.
Most online diagram tools send your text to a server to draw it. This one is built so that the page is not allowed to. Three ways to confirm that.
connect-src 'none'
form-action 'none'Pick a format, write, and the preview follows every keystroke.
Flowcharts, sequence, class, state and ER diagrams, Gantt charts and more.
flowchart LR
A[Idea] --> B{Ready?}
B -->|yes| C[Ship]
The UML classic, rendered locally. No PlantUML server involved.
@startuml
User -> App : text
App --> User : SVG
@enduml
Describe nodes and edges, Graphviz does the layout.
digraph G {
Editor -> Renderer;
Renderer -> SVG;
}
Systems modelling in textual notation: packages, parts, ports, requirements and connections.
part def Vehicle {
part engine : Engine;
}
part def Car :> Vehicle;
Open .drawio files, see them, 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 view). The draw.io preview is simplified: shapes, colours, labels and arrows are drawn, the editing itself stays in draw.io. Planned: tabs.
Mermaid, PlantUML, Graphviz, draw.io and SysML are names of their respective owners. Graph Manufacture is an independent project and is not affiliated with, endorsed by or sponsored by them.
Change the format in the editor and your diagram is converted on the spot. Formats never match exactly, so nothing is dropped silently: every line that could not be carried over is listed with its line number and the reason. Go straight back and your original text returns unchanged.
@startuml
skinparam monochrome true
actor User
User -> App : open file
== Phase 2 ==
App --> User : preview
@enduml
sequenceDiagram
actor User
participant App
User->>App: open file
Note over User,App: Phase 2
App-->>User: preview
skinparam monochrome truestyling and layout settings are not converted== Phase 2 ==separators do not exist in Mermaid; approximated by a note over all participants| Diagram | Mermaid ↔ PlantUML | Graphviz | draw.io | SysML v2 |
|---|---|---|---|---|
| Sequence | both ways | – | – | – |
| Flowchart, activity | both ways | both ways | both ways | – |
| Class | both ways | one way | one way | one way |
| State | both ways | one way | one way | – |
| Entity relationship | both ways | one way | one way | one way |
| Mind map, WBS | both ways | one way | one way | – |
| Gantt | both ways | – | – | – |
| Use case, component | PlantUML → Mermaid | one way | one way | – |
“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 and to Mermaid and PlantUML as a class diagram (definitions become classes, nested parts become compositions, specialisation becomes inheritance). 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.
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.
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.
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.
Current Chrome, Edge, Firefox and Safari. The renderers use WebAssembly, so very old browsers are not supported.
Use the Feedback link in the editor or on this page. It opens an email to us.