@diagram Blocks
Create flowcharts, sequence diagrams, Gantt charts, and mind maps using Mermaid or Graphviz.
Quick Example
@diagram {
type: "flowchart";
engine: "mermaid";
title: "User Login Flow";
code: "graph TD
A[Start] --> B{Valid User?}
B -->|Yes| C[Dashboard]
B -->|No| D[Error Page]
D --> A";
}Diagram Types
Flowchart
Visualize processes and decision flows.
@diagram {
type: "flowchart";
engine: "mermaid";
title: "Order Processing";
code: "graph LR
A[Order] --> B{In Stock?}
B -->|Yes| C[Ship]
B -->|No| D[Backorder]
C --> E[Complete]
D --> E";
}Sequence Diagram
Show interactions between actors over time.
@diagram {
type: "sequence";
engine: "mermaid";
title: "API Authentication";
code: "sequenceDiagram
Client->>API: Request Token
API->>Database: Validate User
Database-->>API: User Valid
API-->>Client: Return Token";
}Gantt Chart
Project timelines and task dependencies.
@diagram {
type: "gantt";
engine: "mermaid";
title: "Project Timeline";
code: "gantt
title Development Schedule
section Phase 1
Design :a1, 2024-01-01, 30d
Development :a2, after a1, 45d
section Phase 2
Testing :a3, after a2, 20d
Deployment :a4, after a3, 10d";
}Mind Map
Organize ideas hierarchically.
@diagram {
type: "mindmap";
engine: "mermaid";
title: "Product Features";
code: "mindmap
root((Product))
Features
Core
Advanced
Users
Free
Premium
Support
Docs
Community";
}Rendering Engines
Mermaid (Default)
Modern, easy-to-use syntax with great support for flowcharts, sequences, Gantt, and more.
Graphviz
Powerful graph visualization with DOT language. Best for complex network diagrams.
Graphviz Example:
@diagram {
type: "flowchart";
engine: "graphviz";
title: "System Architecture";
code: "digraph G {
rankdir=LR;
node [shape=box];
Client -> LoadBalancer;
LoadBalancer -> Server1;
LoadBalancer -> Server2;
Server1 -> Database;
Server2 -> Database;
}";
}Properties
type (required)Diagram type: flowchart, sequence, gantt, mindmap
engine (required)Rendering engine: mermaid (default), graphviz
title (optional)Diagram title/caption
code (required)Diagram definition in Mermaid or Graphviz syntax
Mermaid Syntax Reference
Flowchart Nodes:
Flowchart Arrows:
Learn more: Mermaid Documentation
How Diagrams Render
Rendered using Mermaid.js or Graphviz with high quality SVG output.
DOCX
Diagram code displayed as preformatted text for reference.
PPTX
Diagram code shown on slides with monospace formatting.
Best Practices
✅ Keep it Simple
Complex diagrams with many nodes can be hard to read. Break into multiple diagrams if needed.
✅ Use Descriptive Labels
Label nodes and edges clearly so the diagram is self-explanatory.
✅ Add Titles
Always include a title to provide context for the diagram.
⚠️ Test Your Syntax
Use the playground or Mermaid Live Editor to validate diagram syntax before adding to documents.
Try It Yourself
Test @diagram blocks in the interactive playground:
Open Playground →