🔀

Flowchart Builder

Build flowcharts using Mermaid syntax with live preview

Input
Flowchart Preview
🔒 All processing runs in your browser. Your data is never sent to any server.

📖 What is this tool?

A flowchart visualizes a process as a series of steps, decisions and connections. This builder uses Mermaid flowchart syntax: you define nodes (rectangles, diamonds, circles) and connect them with arrows, and the diagram renders live. Choose from Basic Flow, Dev Workflow and System Architecture templates. Use top-down (TD) or left-to-right (LR) layouts. Ideal for documenting CI/CD pipelines, onboarding processes, decision trees and API routing logic. Everything runs in your browser.

💡 Example

Input
flowchart TD A[Start] --> B{Working?} B -->|Yes| C[Ship it!] B -->|No| D[Debug]
Output
Live flowchart with decision diamond and paths

🛠️ Common Use Cases

  • Document business processes and workflows
  • Map application logic and decision trees
  • Create onboarding and troubleshooting guides
  • Visualize CI/CD pipelines
  • Document system architecture

📝 Mermaid Flowchart Syntax Reference

  • graph TD — top-down layout; use LR for left-to-right
  • A[Rectangle] — standard process node
  • B{Diamond} — decision node
  • C(Rounded) — rounded rectangle
  • D((Circle)) — circular node (start/end)
  • E[/Parallelogram/] — input/output node
  • A --> B — solid arrow
  • A -.-> B — dotted arrow
  • A ==> B — thick arrow
  • A -->|label| B — arrow with text label
  • subgraph Title ... end — group nodes into a labeled box
  • style A fill:#0f0,stroke:#333 — custom node styling

⚠️ Common Mistakes

  • Using reserved words as node IDs — end, graph, subgraph and style cannot be node IDs; wrap them in quotes or choose different names
  • Forgetting brackets around labels — A alone creates a node labeled "A"; use A[My Label] for readable text
  • Mixing up arrow syntax — --> is a solid arrow, --- is a line with no head; adding too many dashes breaks the syntax
  • Unclosed subgraphs — every subgraph needs a matching end

❓ Frequently Asked Questions

What is the difference between TD and LR flowcharts?
TD (Top-Down) flows vertically from top to bottom. LR (Left-Right) flows horizontally. Use TD for process flows and LR for system architecture or pipeline diagrams.
How do I add shapes to flowchart nodes?
Use [] for rectangles, () for rounded, {} for diamonds (decisions), [/text/] for parallelograms. Example: A[Rectangle], B(Rounded), C{Diamond}
Can I style individual nodes?
Yes — use classDef to define styles and the ::: operator to apply them. Example: classDef green fill:#0f0; A:::green[Styled Node]
How do I create a decision tree with Yes/No branches?
Use a diamond node for the decision: B{Is valid?}, then connect with labeled arrows: B -->|Yes| C[Continue] and B -->|No| D[Error]. The diamond shape signals a decision point.
How do I group nodes into sections?
Use subgraph Title ... end to group related nodes inside a labeled box. Subgraphs can be nested and you can draw arrows between nodes in different subgraphs.
Can I change node colors?
Yes — use the style directive: style A fill:#e0f7fa,stroke:#00838f,color:#000. You can also define CSS classes with classDef and apply them to multiple nodes at once.
🔒
Your data stays private. All processing happens entirely in your browser. Nothing is ever sent to our servers. You can use this tool offline after the page loads.