Quickly learn how to create various diagrams using Mermaid syntax
graph TD
A[π Wake Up] --> B{β Coffee Ready?}
B -->|β
Yes| C[π Great Day Ahead]
B -->|β No| D[π΄ Back to Bed]
C --> E[πͺ Conquer the World]
D --> F[πͺ Zombie Mode]
F --> G[π Rush to Coffee Shop]
G --> CBasic Syntax:
graph TD defines a top-down flowchart A[Text] creates a rectangle node B{Text} creates a diamond node (typically for conditions) --> creates a connection between nodes -->|Text| creates a labeled arrowsequenceDiagram
participant Me as π Me
participant Fridge as π§ Fridge
participant Brain as π§ Brain
participant Stomach as π€€ Stomach
Me->>Fridge: π What's for dinner?
Fridge-->>Me: π₯¬ Only vegetables...
Me->>Brain: π€ Should I cook?
Brain-->>Me: π Order pizza instead!
Me->>Stomach: π€· Pizza again?
Stomach-->>Me: π Always yes to pizza!Basic Syntax:
sequenceDiagram defines a sequence diagram participant Name defines a participant A->>B: Text creates a solid arrow (synchronous message) A-->>B: Text creates a dashed arrow (asynchronous message)classDiagram
class DatingAppUser {
+String bio
+Array photos
+Integer age
+swipeRight()
+sendMessage()
}
class HopelessRomantic {
+String dreamDate
+writePoetry()
+fallInLoveEasily()
}
class SerialDater {
+scheduleMultipleDates()
+masterSmallTalk()
}
DatingAppUser <|-- HopelessRomantic
DatingAppUser <|-- SerialDaterBasic Syntax:
classDiagram defines a class diagram class ClassName {} defines a class with properties/methods + indicates public properties/methods - indicates private properties/methods A <|-- B indicates B inherits from A (B is a subclass of A)stateDiagram-v2
[*] --> Pending
Pending --> Processing: Start Processing
Processing --> Completed: Complete Processing
Processing --> Cancelled: Cancel
Completed --> [*]
Cancelled --> [*]Basic Syntax:
stateDiagram-v2 defines a state diagram [*] represents start or end state A --> B represents a transition from state A to B A --> B: Text adds transition description texterDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--|{ LINE-ITEM : contains
CUSTOMER }|..|{ DELIVERY-ADDRESS : usesBasic Syntax:
erDiagram defines an entity relationship diagram ||--o{ represents a one-to-many relationship ||--|{ represents a one-to-many (mandatory) relationship }|..|{ represents a many-to-many relationship (dashed line) : Text adds relationship labelgantt
title Project Development Plan
dateFormat YYYY-MM-DD
section Design Phase
Requirements Analysis :done, des1, 2023-01-01, 2023-01-05
Prototype Design :active, des2, 2023-01-06, 3d
section Development Phase
Coding :dev1, after des2, 20d
Testing :dev2, after dev1, 10dBasic Syntax:
gantt defines a Gantt chart title Title sets the chart title dateFormat Format sets the date format section Name creates a task section Task Name: ID, Start Date, Duration/End Date defines a task with its timespan done/active marks task status (completed/in progress) after ID defines task dependencypie title Traffic Sources
"Search Engines" : 42.7
"Direct Access" : 25.5
"Social Media" : 18.3
"Other Channels" : 13.5Basic Syntax:
pie defines a pie chart title Title sets the chart title "Label" : Value defines a slice in the pie chartThis page provides basic Mermaid syntax guidelines. For more advanced features and detailed syntax, please refer to: