Storm2Flow generates professional process diagrams from plain-text descriptions using AI. Describe your process, choose a diagram type, and get a production-ready diagram in seconds.
Last updated: May 6, 2026
+ button in the process library.That’s it. You can then edit, export, share, and version your diagrams.
Generate multiple diagram types from the same description. Check the types you want before clicking Generate.
| Type | Best for | Editable | Format |
|---|---|---|---|
| BPMN | Formal process modeling with lanes, gateways, events | Yes — drag & drop | BPMN 2.0 XML |
| Sequence | System interactions, API flows, message exchanges | No | Mermaid |
| Flowchart New | Simple step-by-step for non-technical audiences | Yes — visual editor | Mermaid |
| Swimlane New | Cross-team handoffs with actor lanes | Yes — visual editor | Mermaid |
| Mind map New | Process overview, brainstorming, hierarchical view | Yes — visual editor | Mermaid |
Sequence diagrams include extra safeguards before they reach the canvas. Storm2Flow can decline sequence generation when the process is a poor fit for message-sequence notation, validates Mermaid syntax balance, retries once with a targeted hint when the model emits invalid DSL, and checks that named systems in the description are represented as participants.
Write your process description in the rich text editor. The editor supports markdown formatting: bold, italic, headings, and lists.
Click Analyse to have the AI review your description for grammar, completeness, and clarity. If gaps are found, a Q&A panel appears with clarifying questions. Answer them and click Apply answers to improve the description.
Click the Record button to dictate your process description. Audio is transcribed and appended to the editor. Requires microphone permission.
Upload a photo of a whiteboard, Miro board, or hand-drawn flowchart. The AI extracts the process description and auto-generates a diagram. Also supports event storming board photos and DDD artifacts.
When you modify your description and regenerate, the AI preserves the existing diagram structure and only changes what’s needed. This keeps your layout stable across iterations.
After generating, rate the diagram from 1 to 5 stars:
Your ratings improve future generations for your organization through few-shot learning.
Use the Wrong button when a diagram is semantically incorrect. You can add an optional reason; Storm2Flow stores that feedback with the diagram type and request ID so quality regressions can be investigated.
When your flowchart contains a decision diamond, the yes and no branches are the canonical edges leaving it. Storm2Flow now de-duplicates any unlabelled edge from the same source/target pair, so each branch renders exactly once on the canvas with the right label — no more “four arrows leaving the diamond” from a labelled and unlabelled pair stacked on top of each other.
Storm2Flow runs every generation on AWS Bedrock, hosted in eu-central-1 (Frankfurt) with cross-region inference profiles restricted to EU regions only. No customer description, image upload, voice transcript, or generated diagram is sent to OpenAI’s SaaS endpoints, Anthropic’s SaaS endpoints, or any non-EU model host. This is what makes Storm2Flow usable by EU organisations under DSGVO/GDPR without a separate data-processing addendum per provider.
winningRung: 2 or 3.For organisations that need every Bedrock call to land on their own AWS bill / their own CloudTrail (BYO Bedrock via cross-account role assumption), see Administration below — this is on the post-spike roadmap.
+ / − / Reset buttons in the toolbar.Click XML (for BPMN) or Code (for Mermaid types) to see the raw diagram code. Click Copy to copy it to your clipboard.
When multiple diagram types are generated, tabs appear at the top of the diagram area. Click a tab to switch between types.
BPMN diagrams are fully editable in the browser:
If your edits change the process structure (not just layout), the AI may suggest an updated description to keep text and diagram in sync.
Flowchart, swimlane, and mind map diagrams can be edited visually in the browser:
If your edits change the process structure, the AI may suggest an updated description to keep text and diagram in sync.
Rendering: flowchart, swimlane and mind map now use the same ReactFlow + ELK renderer for view and edit mode, so the canvas looks identical whether you are just viewing or actively editing. Sequence diagrams continue to use the classic Mermaid renderer — their visual grammar doesn’t map cleanly to a graph canvas.
For swimlanes, Storm2Flow saves lane identifiers in canonical Mermaid form behind the scenes while preserving readable lane labels, so edit, save, reload, and re-edit cycles keep lane containers intact.
Every flowchart shape — rectangles, rounded rectangles, stadiums, circles, hexagons, decision diamonds — shows a + glyph on each of its four handles in edit mode. The + is the always-create affordance: drag from a + to start a new edge between two nodes. The handle area is now scoped tightly to the glyph itself, so clicking near a node corner (or on a diamond’s slanted edge) selects the node rather than accidentally starting a phantom edge.
Existing edges show small edge-update anchors at their endpoints when the edge is selected. Drag an anchor to re-route an existing edge to a different source or target — distinct from the + glyph, which always creates a new edge. Edge labels also no longer block clicks on the handle or the edge underneath them, so labelled edges are as easy to select and re-route as unlabelled ones.
Edges pick their routing style from the shape of the source node. A non-diamond parent (rectangle, rounded, stadium, circle, hexagon, etc.) uses junction routing: a plain bezier fan where every outgoing edge leaves from the same layout-default handle on the parent — arrows read left-to-right in LR layouts and top-to-bottom in TB layouts. A diamond parent uses decision routing: a custom staggered smoothstep edge that picks a distinct turn coordinate per sibling so option labels never overlap, even with five or more branches. Back-edges (targets behind the source on the primary axis) fall back to geometric handle selection in both modes so the loop-back is visually obvious.
LR and TB layouts, with the back-edge case and a mixed graph for reference.Most div-based flowchart shapes can be resized in the visual editor. Decision diamonds auto-size from their label, keep text inside the visible dark diamond, and can be manually resized while preserving the square decision shape. Circles remain fixed-size. Subgraph / container nodes (swimlane lanes and grouped flowchart sections) are also manually resizable; touched groups keep their saved dimensions across regenerations, while untouched groups continue to receive fresh automatic sizing.
Errors that need your attention stay visible as persistent panels instead of disappearing toasts. The panel explains what happened in user-friendly language, offers the right next action where possible, and includes a Report issue link when support can help.
Technical details are sanitized. You may see a request ID, error class, timestamp, and app version, but raw stack traces, provider errors, layout internals, and parser messages stay out of the user-facing page.
Every generation and manual save creates a new version. Click the version badge (e.g. “v3 · Sep 2 · you”) to open version history.
Versions include the description, all diagram types, and creator information.
Export your diagram as a high-resolution PNG (2x retina) — ideal for embedding in documents, Slack, and email. The export includes the process name and a “struct2flow” watermark.
PDF and PowerPoint exports are temporarily paused while we improve the diagram pipeline. They will return in a future release.
Click Keys in the header to open account settings.
By default each user is limited to 5 generations per day. Org admins and platform admins are exempt. The limit only applies to fresh generations — viewing, editing, and exporting existing diagrams are not counted.
GDPR-compliant account deletion is available in the same modal. This permanently deletes all your processes, diagrams, share links, and account credentials.
The Keys modal also exposes per-user Anthropic / OpenAI API key fields, and admin-only per-domain key fields. These are legacy surfaces from the pre-Bedrock era. Fresh-diagram generation runs on AWS Bedrock regardless — those fields are only consulted by the BPMN delta / template-match path, which is a corner case for users actively editing existing BPMN diagrams. New deployments do not need to populate them.
For organisations that need every Bedrock call to land on their own AWS bill / their own CloudTrail (procurement, vendor-of-record, or data-residency-down-to-the-account constraints), Storm2Flow plans to support cross-account IAM role assumption: customer creates a Storm2FlowBedrockInvoker role whose trust policy grants sts:AssumeRole to the Storm2Flow principal, scoped to bedrock:InvokeModel / bedrock:Converse / bedrock:ConverseStream on a customer-curated model allow-list. At generation time, Storm2Flow exchanges its identity for short-lived STS credentials in the customer’s role and issues the Bedrock call from there; credentials live in memory for the request only and are never persisted.
This option is on the post-spike roadmap; the Bedrock-only call path is already in place internally so the customer-facing UI is the remaining work. Contact me if you’d like to be among the early customers.
| Shortcut | Action | Context |
|---|---|---|
| Ctrl+Scroll | Zoom in/out | Diagram canvas |
| ← → ↑ ↓ | Pan diagram | When not typing |
| Esc | Close modal | Any modal open |
| Enter | Confirm rename | Process name input |
Organization admins and platform admins can access the Admin panel via the header button.
user, org-admin, admin.The eval suite runs on a schedule against dev every morning at 03:00 UTC, exercising a fixture matrix (flowchart + sequence) across configured Bedrock cascade rungs with ten runs per cell. Pass rates roll up by diagram type and drive CloudWatch alarms when they drop below the per-type SLA (flowchart ≥ 90%, sequence ≥ 95%).
The Admin → Evals page renders the latest report with delta vs. the previous run and failing-check chips per fixture cell; CSV export is one click. A Logs button on each row deep-links to CloudWatch for the specific invocation.
Platform admins can inspect recent generation failures through the admin debug endpoint. Failure rows include request IDs, diagram type, error class, stable input/output hashes where available, and CloudWatch deep-links scoped to the specific request. This lets support correlate a user’s error panel with backend logs without asking for a manual reproduction first.
The Diag button on every diagram view exposes per-type cascade provenance: winning rung, winning provider, prompt version, and the attempt log when the cascade had to fall through to a later rung. Provenance is now persisted with each version, so reloading the page or coming back later still shows the exact rung that produced the on-screen diagram instead of an empty Diag panel.
Next to the star rating on every diagram, use the Wrong button to mark a diagram as incorrect and optionally describe what is wrong (up to 2000 characters).
A weekly rollup aggregates those flags plus 1-star and 2-star ratings into a negative-rate metric, so quality regressions on the prompt or cascade rung surface in an alarm within seven days.
Storm2Flow works on mobile devices with a tab-based navigation:
All features work on mobile, including diagram editing, version history, and sharing.