Mermaid はテキスト構文でグラフを生成するツールです。簡単な Mermaid コードを書くことで、フローチャート、シーケンス図、クラス図、状態遷移図、ER 図、ガントチャート、マインドマップ、アーキテクチャ図など、さまざまなグラフを生成できます。
従来のドラッグ&ドロップ式の作図ツールとは異なり、Mermaid は主にコードでグラフ内のノード、関係、時間順序、データ構造を記述します。コードを修正するとグラフが自動的に再生成されるため、技術ドキュメント、製品設計、プロジェクト管理、ソフトウェア開発、ナレッジ整理などのシーンに特に適しています。
本記事では Mermaid の基本構文を紹介し、Mermaid エディタがレンダリングに対応するグラフの種類、宣言構文、コード例と使用シーン。Mermaid コードを直接オンラインで作成・プレビューしたい場合は、無料でお試しください ProcessOn Mermaid オンラインエディタ。
Mermaid はテキスト構文でグラフを生成するツールです。以下のコードで簡単な Mermaid フローチャートを生成できます:
flowchart TD
A[Start] --> B[Enter information]
B --> C{ Completed?}
C -->|Yes| D[End]
C -->|No| B
レンダリング結果は次のとおりです:

ここで:flowchart TD は、上から下へ配置されるフローチャートを宣言・作成するために使用します。
Mermaid の動作の仕組みは次のようにまとめられます:
Mermaid コードを作成 → コードを解析 → レンダリンググラフ → コードを修正 → グラフリアルタイム更新
そのため、Mermaid を学ぶうえでの鍵の一つは、グラフごとに対応する宣言構文を理解することです。
グラフの種類によって使用する Mermaid の宣言構文は異なります、現在よく使われる Mermaid 図形は次のとおりです:
| グラフの種類 | Mermaid の宣言構文 | 主な用途 |
| フローチャート | flowchart | 業務プロセス、アルゴリズム、ワークフロー |
| シーケンス図 | sequenceDiagram | システム連携、API 呼び出し |
| クラス図 | classDiagram | ソフトウェア構造、オブジェクト指向モデリング |
| 状態遷移図 | stateDiagram-v2 | 状態遷移、ステートマシン |
| ER 図 | erDiagram | データベースのエンティティ関係 |
| ガントチャート | gantt | プロジェクト計画、タスク進捗 |
| ユーザージャーニー図 | journey | ユーザー体験、カスタマージャーニー |
| マインドマップ | mindmap | ナレッジ整理、ブレインストーミング |
| タイムライン | timeline | 時系列、歴史的な出来事 |
| 円グラフ | pie | 比率、構成分析 |
| 象限図 | quadrantChart | 分類、優先度、ポジショニング分析 |
| Git グラフ | gitGraph | Git のブランチ、コミット、マージ |
| サンキー図 | sankey-beta | データ、リソース、流量の流れ |
| XY 図 | xychart-beta | データの傾向、数値比較 |
| レーダーチャート | radar | 多次元指標の比較 |
| C4 図 | C4Context など | ソフトウェアアーキテクチャのモデリング |
| アーキテクチャ図 | architecture-beta | システム、サービス、リソースのアーキテクチャ |
| かんばん図 | kanban | タスク、作業ステータスの管理 |
| ブロック図 | block-beta | モジュール、構造、システムの関係 |
| パケット図 | packet-beta | ネットワークパケットの構造 |
| 要件図 | requirementDiagram | 要件分析と要件の関係 |
Mermaid の異なるエディタバージョンではグラフの構文と機能の対応が変わる場合があります。実際に使用する際は、エディタが対応している構文を基準にしてください。
基本構文
Mermaid では flowchart 宣言を使ってフローチャートを作成します。最も簡単な書き方は次のとおりです:
flowchart TD
A[Start] --> B[Arrange]
B --> C[End]
レンダリング結果

ここで:
Mermaid のフローチャートでは LR(左から右へ)、RL(右から左へ)、BT(下から上へ) などの方向設定も使用できます。例:
flowchart LR
A[Start] --> B[Arrange] --> C[End]
これはフローチャートが左から右へ配置されることを示します。
よく使う構文
| 構文 | 図形 | 意味 |
| (text) | 角丸矩形 | フローの開始、終了、一般的な操作を表します |
| [text] | 矩形 | 具体的なステップ、タスク、処理過程を表します |
| {text} | ひし形 | 判断、条件分岐を表します |
| ((text)) | 円形 | 接続点やイベントを表します |
| [[text]] | 二重矩形 | サブフロー、サブモジュールの呼び出しを表します |
| [(text)] | 円柱 | データベースノードを表します |
| >text] | 非対称図形 | 入力/出力を表します |
| [/text/] | 平行四辺形 | 入力または出力データを表します |
| --> | 矢印 | フローの進行方向を表します |
| --- | 矢印なしの接続線 | 関連関係を表します |
| -.-> | 破線の矢印 | オプションのフロー、参照関係を表します |
| ==> | 太い矢印 | 重要なフローや強い関連を表します |
Mermaid でフローチャートを生成する詳細な構文は、以下のページをご覧ください: https://www.processon.io/ja/mermaid/flowchart
フローチャートは業務プロセス、ワークフロー、アルゴリズムの流れ、システムの流れ、意思決定の流れなどのシーンに適しています。無料でお試しください Mermaid フローチャートオンラインエディタ。
基本構文
Mermaid では sequenceDiagram 宣言を使ってシーケンス図を作成します。最も簡単な例:
sequenceDiagram
Alice->>John: Hello John
John-->>Alice: Hello Alice
レンダリング結果

ここで:
よく使う構文
| 構文 | 図形 | 意味 |
| sequenceDiagram | シーケンス図 | シーケンス図を作成 |
| A->B: message | 実線 | 同期メッセージ呼び出しまたは通常のインタラクションを表します |
| A-->B: message | 破線 | 戻りメッセージまたは弱い関連のインタラクションを表します |
| A->>B: message | 実線の矢印 | 非同期メッセージ呼び出しを表します |
| A-->>B: message | 破線の矢印 | 非同期の応答または戻りメッセージを表します |
| participant A | 参加者 | インタラクション内のオブジェクト、役割、システムを定義します |
| actor A | アクター | ユーザー、外部システムなどの主体的な参加者を表します |
| activate A | アクティベーションボックス | オブジェクトがリクエストの処理を開始することを表します |
| deactivate A | アクティベーションの終了 | オブジェクトが現在の処理を完了することを表します |
| loop text | ループボックス | 繰り返し実行されるインタラクションを表します |
| alt text | 条件分岐 | 異なる条件下でのインタラクションパスを表します |
| opt text | オプションのフロー | 実行される可能性のあるインタラクションを表します |
| par text | 並列ボックス | 複数の操作が同時に実行されることを表します |
Mermaid でシーケンス図を生成する詳細な構文は、以下のページをご覧ください: https://www.processon.io/ja/mermaid/sequence-diagram
シーケンス図は、ユーザーとシステム、システム同士、サービス同士の間で時間順に発生するインタラクションの記述に適しています。無料でお試しください Mermaid シーケンス図オンラインエディタ。
基本構文
Mermaid では classDiagram 宣言を使ってクラス図を作成します。
classDiagram
Animal <|-- Duck
Animal <|-- Fish
class Animal {
+String name
+eat()
}
class Duck {
+swim()
}
レンダリング結果

ここで:
よく使う構文
| 構文 | 図形 | 意味 |
| classDiagram | クラス図 | クラス図を作成 |
| class ClassName | クラス | クラスオブジェクトを定義します |
| ClassName : attribute | 属性 | クラス内のメンバ変数を表します |
| ClassName : method() | メソッド | クラスメソッドを定義します |
| <|-- | 白抜きの三角形+実線 | 継承関係を表します |
| <|.. | 白抜きの三角形+破線 | 実現関係を表します |
| *-- | 塗りつぶしたひし形+実線 | コンポジション関係を表します |
| o-- | 白抜きのひし形+実線 | 集約関係を表します |
| --> | 実線の矢印 | 関連関係を表します |
| ..> | 破線の矢印 | 依存関係を表します |
| -- | 実線 | 通常の接続関係を表します |
| +attribute | プラス記号 | 公開された属性またはメソッドを表します |
| -attribute | マイナス記号 | 非公開の属性またはメソッドを表します |
クラスメンバの先頭に付く +、-、# などの記号は、異なる可視性を表すことができます。
Mermaid でクラス図を生成する詳細な構文は、以下のページをご覧ください: https://www.processon.io/ja/mermaid/class-diagram
クラス図はソフトウェア設計、オブジェクト指向モデリング、プログラム構造分析などのシーンに適しています。無料でお試しください Mermaid クラス図オンラインエディタ。
基本構文
Mermaid では stateDiagram-v2 宣言を使って状態遷移図を作成します。
stateDiagram-v2
state "Pending Payment" as Pending
[*] --> Pending
Pending --> Paid
Paid --> Shipped
Shipped --> Completed
Completed--> [*]
レンダリング結果
ここで:
よく使う構文
| 構文 | 図形 | 意味 |
| stateDiagram-v2 | 状態遷移図 | 状態遷移図を作成 |
| state StateName | 角丸矩形 | 基本状態ノードを定義します |
| state StateName : text | テキスト付きの角丸矩形 | 状態に説明テキストを付加します |
| [*] | 塗りつぶした小さな円または二重の円環 | 状態の開始または終了を表します |
| [*] --> StateName | 開始の矢印 | 最初の状態へ遷移することを表します |
| StateName --> [*] | 終了の矢印 | 状態フローの終了を表します |
| A --> B | 実線の矢印 | 状態遷移を表します |
| A --> B: event | ラベル付きの実線の矢印 | トリガーイベントを含む状態遷移 |
| state StateName {...} | ネストした角丸矩形 | 複合状態を定義します |
| state Node <<choice>> | ひし形 | 分岐と判断の選択ノード |
| state Fork <<fork>> | 太い横方向の区切り線 | 並列フローの開始を表します |
| state Join <<join>> | 太い横方向の区切り線 | 並列フローの終了と合流を表します |
Mermaid で状態遷移図を生成する詳細な構文は、以下のページをご覧ください: https://www.processon.io/ja/mermaid/state-diagram
状態遷移図は、注文状態、ワークフロー状態、ユーザー状態、システム状態、ステートマシンなどの表現に適しています。無料でお試しください Mermaid 状態遷移図オンラインエディタ。
基本構文
Mermaid では erDiagram 宣言を使ってエンティティ関係図、つまり ER 図を作成します。
erDiagram
USER ||--o{ ORDER : places
ORDER ||--|{ PRODUCT : contains
レンダリング結果
ここで:
erDiagram:Mermaid の ER 図を作成することを表します
||--o{:1 対多の接続、1 つのエンティティが複数のエンティティに対応することを表します、空でも可
||--|{:1 対多の接続、1 つのエンティティが複数のエンティティに対応することを表します、最低 1 個
よく使う構文
| 構文 | 図形 | 意味 |
| erDiagram | ER 図 | 作成 ER 図 |
| ENTITY { } | 矩形 | エンティティを定義します |
| type field | 属性マーカー | エンティティの属性を定義します |
| type field PK | 主キー | エンティティの主キーを定義します |
| type field FK | 外部キー | エンティティの外部キーを定義します |
| type field UK | 一意キー | 一意制約フィールドを定義します |
| || | 1 つ | 必須かつ 1 つのみ |
| o| | 0 または 1 | 0 または 1 |
| |{ | 1 以上 | 最低 1 つ |
| o{ | 0 または 1 以上 | 0 以上 |
Mermaid で ER 図を生成する詳細な構文は、以下のページをご覧ください: https://www.processon.io/ja/mermaid/er-diagram
ER 図はエンティティ、属性、エンティティ間の関係を表すことができ、データベース設計でよく使用されます。無料でお試しください Mermaid ER 図オンラインエディタ。
基本構文
Mermaid では mindmap 宣言を使ってマインドマップを作成します。
mindmap
root((Mermaid))
Flowchart
Sequence diagram
Class diagram
Gantt chart
Mind map
レンダリング結果

ここで:
よく使う構文
| 構文 | 図形 | 意味 |
| mindmap | マインドマップ | マインドマップを作成 |
| root[text] | 矩形 | 矩形のルートトピック |
| root(text) | 角丸矩形 | 角丸矩形のルートトピック |
| root((text)) | 円形 | 円形のルートトピック |
| root{{text}} | 六角形 | 六角形のルートトピック |
| root)text( | バブル図 | バブルのルートトピック |
| [text] | 矩形 | 矩形ノード |
| (text) | 角丸矩形 | 角丸矩形ノード |
| ((text)) | 円形 | 円形ノード |
| {{text}} | 六角形 | 六角形ノード |
| )text( | バブル図 | バブルノード |
Mermaid でマインドマップを生成する詳細な構文は、以下のページをご覧ください: https://www.processon.io/ja/mermaid/mindmap
マインドマップは主にインデントで階層関係を表すため、ナレッジ整理、ブレインストーミング、講義ノート、情報アーキテクチャに最適です。無料でお試しください Mermaid マインドマップオンラインエディタ。
基本構文
Mermaid では gantt 宣言を使ってガントチャートを作成します。
gantt
title Project Plan
dateFormat YYYY-MM-DD
section Design
Requirements Analysis:a1, 2026-01-01, 3d
UI Design:after a1, 2d
section Development
Front-end Development:2026-01-06, 4d
Back-end Development:2026-01-07, 4d
レンダリング結果

ここで:
よく使う構文
| 構文 | 図形 | 意味 |
| gantt | ガントチャート | ガントチャートを作成 |
| title text | タイトル | ガントチャートのタイトルを設定します |
| dateFormat text | 日付設定の識別子 | タイムラインの日付解析形式を定義します |
| section text | グループ色ブロックのタイトルバー | タスクグループを区分します |
| TaskName : id, startDate, endDate | 横方向のタスクバー | タスクの関連属性を定義します |
| startDate | 横方向のタスクバー | 開始時刻を定義します |
| endDate | 横方向のタスクバー | 終了時刻を定義します |
| duration | 横方向のタスクバー | タスクの継続時間を定義します |
| id | カスタム | タスクの番号を定義します |
| after id | 横方向のタスクバー | 先行タスクに続いて開始するタスクを定義します |
| 16d, 2w | 横方向のタスクバー | 日または週を表します |
| milestone, date | 塗りつぶしたひし形 | マイルストーンノードを設定します |
Mermaid でガントチャートを生成する詳細な構文は、以下のページをご覧ください: https://www.processon.io/ja/mermaid/gantt
Mermaid のガントチャートはプロジェクト計画、タスク調整、開発進捗、プロジェクト管理に適しています。無料でお試しください Mermaid ガントチャートオンラインエディタ。
基本構文
Mermaid では journey 宣言を使ってユーザージャーニー図を作成します。
journey
title User purchases a product
section Browse
Search for products: 5: User
View details: 4: User
section Place order
Add to cart: 5: User
Complete payment: 3: User
レンダリング結果

ここで:
よく使う構文
| 構文 | 図形 | 意味 |
| journey | ユーザージャーニー図 | ユーザージャーニー図を作成 |
| title text | タイトル | ユーザージャーニー図のタイトル |
| section text | セクションブロック | フロー段階のグループを区分します |
| TaskName:num:Actor | フローノード+満足度スケール軸 | 段階内のインタラクションタスク、満足度スコア、参加する役割を定義します |
| num (1~5) | 満足度スコア | 1 点が最低、5 点が最高 |
| Me, Cat | アクター | そのタスクに参加する複数の役割を定義します |
Mermaid でユーザージャーニー図を生成する詳細な構文は、以下のページをご覧ください: https://www.processon.io/ja/mermaid/user-journey-diagram
ユーザージャーニー図は、顧客が製品に触れてから目標を達成するまでのさまざまなステップと体験を分析するのに適しています。無料でお試しください Mermaid ユーザージャーニー図オンラインエディタ。
基本構文
Mermaid では timeline 宣言を使ってタイムラインを作成します。
timeline
title Mermaid Development History
2019 : Project Development
2020 : Feature Expansion
2021 : More Diagram Types
レンダリング結果

ここで:
よく使う構文
| 構文 | 図形 | 意味 |
| timeline | タイムライン | タイムラインを作成 |
| title text | タイトル | タイムラインのタイトルを設定します |
| section text | セクションブロック | 時間段階のグループを区分します |
| date : Event1 | イベント | 時間点に対応するイベントを定義します |
| : Event2 | 複数イベント | 同じ時間に対応する他のイベント |
| 空白 | 改行 | 長すぎるイベント説明を改行します |
Mermaid でタイムラインを生成する詳細な構文は、以下のページをご覧ください: https://www.processon.io/ja/mermaid/timeline
タイムラインは歴史的な出来事、プロジェクトの発展、製品のイテレーション、時系列情報の表示に適しています。無料でお試しください Mermaid タイムラインオンラインエディタ。
基本構文
Mermaid では quadrantChart 宣言を使って象限図を作成します。
quadrantChart
title Product Positioning
x-axis Low Price--> High Price
y-axis Low Quality--> High Quality
quadrant-1 High-end
quadrant-2 Quality-focused
quadrant-3 Basic
quadrant-4 Value-for-money
Product A: [0.8, 0.7]
Product B: [0.3, 0.8]
レンダリング結果

ここで:
Mermaid で象限図を生成する詳細な構文は、以下のページをご覧ください: https://www.processon.io/ja/mermaid/quadrant-chart
象限図は製品ポジショニング、優先度分析、競合分析、2 次元分類に適しています。無料でお試しください Mermaid 象限図オンラインエディタ。
基本構文
Mermaid のかんばん図は、タスクの状態(未処理、進行中、完了など)に従って作業項目を整理するために使用します。典型的な構造は次のように表せます:
kanban
Todo
Task A
Task B
Doing
Task C
Done
Task D
レンダリング結果

ここで;
Mermaid でかんばん図を生成する詳細な構文は、以下のページをご覧ください: https://www.processon.io/ja/mermaid/kanban
かんばん図はプロジェクト管理、タスク追跡、開発プロセス、ワークフロー管理に適しています。無料でお試しください Mermaid かんばん図オンラインエディタ。
基本構文
要件図は、要件、機能、システム要素の間の関係を表すために使用できます、Mermaid では requirementDiagram 宣言を使って要件図を作成します。
requirementDiagram
requirement userRequirement {
id: 1
text: Customers can purchase products
risk: low
verifymethod: test
}
レンダリング結果

ここで:
よく使う構文
| 構文 | 図形 | 意味 |
| requirementDiagram | 要件図 | 要件図を作成 |
| Requirement name { } | 要件 | 基本要件を定義します |
| functionalRequirement name { } | 機能 | 機能要件を定義します |
| interfaceRequirement name { } | インターフェース | インターフェース要件を定義します |
| performanceRequirement name { } | 性能 | 性能要件を定義します |
| physicalRequirement name { } | 物理 | 物理要件を定義します |
| element name {type: name docRef: name} | 要素 | システム / コンポーネント / テストなどの実体要素を定義します |
| X - satisfies -> Y | 破線の矢印 | 実体が対応する要件を満たします |
| X - contains -> Y | 実線で、始点に十字のプラス記号と円形の端点があります | ある要件が別の要件を含みます |
| X - derives -> Y | 破線の矢印 | 要件が別の要件から派生します |
| X - copies -> Y | 破線の矢印 | 要件が別の要件をコピーします |
| X - traces -> Y | 破線の矢印 | 要件の双方向トレーサビリティ関連 |
Mermaid による要件図詳細な構文は、以下のページをご覧ください: https://www.processon.io/ja/mermaid/requirement-diagram
要件図は製品要件分析、システムエンジニアリング、要件トレーサビリティに適しています。無料でお試しください Mermaid 要件図オンラインエディタ。
基本構文
Mermaid では pie 宣言を使って円グラフを作成します。
pie showData
title Population Share by Continent
"Asia" : 59.5
"Africa" : 18.0
"Europe" : 9.0
"North America" : 7.5
"South America" : 5.5
"Oceania" : 0.5
レンダリング結果

ここで:
Mermaid で円グラフを生成する詳細な構文は、以下のページをご覧ください: https://www.processon.io/ja/mermaid/pie-chart
円グラフは比率と構成関係を表すのに適しています。無料でお試しください Mermaid 円グラフオンラインエディタ。
基本構文
サンキー図は主に、異なるノード間の流量、リソース、資金、データの流れを表すために使用します、Mermaid では sankey-beta 宣言を使ってサンキー図を作成します。
sankey-beta
A,B,50
A,C,30
B,D,20
C,D,30
レンダリング結果

ここで:
Mermaid でサンキー図を生成する詳細な構文は、以下のページをご覧ください: https://www.processon.io/ja/mermaid/sankey-diagram
サンキー図は、ある数値の集合から別の数値の集合への流れを表示するための可視化グラフです。無料でお試しください Mermaid サンキー図オンラインエディタ。
基本構文
Mermaid では xychart-beta 宣言を使って XY 図を作成します。
xychart-beta
title "Monthly Sales Data"
x-axis "Month"["Jan", "Feb", "Mar", "Apr", "May", "Jun"]
y-axis " Sales (million)" 0 --> 100
line [20, 30, 40, 35, 50, 60]
bar [30, 50, 35, 20, 45, 40]
レンダリング結果
ここで:
よく使う構文
| 構文 | 図形 | 意味 |
| xychart-beta | XY 座標図 | XY 座標図を作成 |
| xychart-beta horizontal | 横向きの XY 座標図 | 横向きの XY 座標図を作成 |
| title "name" | タイトル | XY 図のタイトルを定義します |
| x-axis "axisTitle" [a,b,c] | X 軸 | 横軸のカテゴリとタイトルを定義します |
| y-axis "axisTitle" min --> max | Y 軸 | 縦軸の範囲とタイトルを定義します |
| y-axis "axisTitle" | タイトルのみの Y 軸 | 縦軸の名前のみを設定し、数値範囲は自動で調整されます |
| bar [num1, num2, num3] | 棒グラフ | 棒グラフのデータ系列を定義します |
| line [num1, num2, num3] | 折れ線グラフ | 折れ線グラフのデータ系列を定義します |
Mermaid で xy 図を生成する詳細な構文は、以下のページをご覧ください: https://www.processon.io/ja/mermaid/xy-chart
XY 図はデータの変化、数値比較、簡単なデータ可視化の表示に適しています。無料でお試しください Mermaid XY 図オンラインエディタ。
基本構文
レーダーチャートは、複数の対象を複数の次元で比較するのに適しています。たとえば能力評価、製品指標、ソリューションの比較などです。Mermaid では radar-beta 宣言を使ってレーダーチャートを作成します。
radar-beta
title "Competency Assessment Radar Chart"
axis a["Communication Skills"], b["Logical Thinking"], c["Team Collaboration"], d["Technical Skills"]
curve A["Chenlaoda"] {80, 90, 70, 85}
curve B["Wangxiaoer"] {60, 70, 90, 80}
レンダリング結果

ここで:
よく使う構文
| 構文 | 図形 | 意味 |
| radar-beta | レーダーチャート | レーダーチャートを作成 |
| title "name" | タイトル | レーダーチャートのタイトルを定義します。radar-beta の直後に記述します |
| title "name" | タイトル | レーダーチャートのタイトルを定義します。radar-beta の前に記述し、上下に 3 本の中線を追加する必要があります |
| axis id ["axisTitle"] | 次元軸 | レーダーチャートの次元と名前を定義します |
| curve id ["name"]{[values]} | データ曲線 | データ系列の名前と各次元の数値を定義します |
| max value | 最大値 | レーダーチャートの数値範囲の最大値を設定します |
| min value | 最小値 | レーダーチャートの数値範囲の最小値を設定します |
Mermaid でレーダーチャートを生成する詳細な構文は、以下のページをご覧ください: https://www.processon.io/ja/mermaid/radar-chart
レーダーチャートは、データを円形フォーマットで明確かつ簡潔に表現する必要がある開発者、データサイエンティスト、エンジニアに特に役立ちます。無料でお試しください Mermaid レーダーチャートオンラインエディタ。
基本構文
Mermaid では gitGraph 宣言を使って Git グラフを作成します。
gitGraph
commit
branch develop
checkout develop
commit
checkout main
merge develop
レンダリング結果

ここで:
Mermaid で Git グラフを生成する詳細な構文は、以下のページをご覧ください: https://www.processon.io/ja/mermaid/git-graph
Git グラフは Git のコミット、ブランチ作成、ブランチ切り替え、マージなどのバージョン管理プロセスを表すのに適しています。無料でお試しください Mermaid Git グラフオンラインエディタ。
基本構文
Mermaid C4 図はソフトウェアアーキテクチャのモデリングに使用し、ソフトウェアシステム、コンテナ、コンポーネント、およびそれらの関係を異なるレベルから記述できます。
C4Context
title C4 Diagram of the Business System
Person(user, " User", " System user")
System(system, " Business System", " Core business system")
Rel(user, system, "Uses")
レンダリング結果

ここで:
よく使う構文
| 構文 | 図形 | 意味 |
| C4Context | システムコンテキスト図 | C4 システムコンテキスト図を作成 |
| C4Container | コンテナ図 | C4 コンテナ図を作成 |
| C4Component | コンポーネント図 | C4 コンポーネント図を作成 |
| C4Dynamic | 動的インタラクション図 | C4 動的インタラクション図を作成 |
| C4Deployment | デプロイ図 | C4 デプロイ図を作成 |
| title | タイトル | C4 図のタイトルを設定します |
| Person(alias, "label", "description") | 人 | システムを利用するユーザーまたは役割を表します |
| Person_Ext(alias, "label", "description") | 外部の人 | システム外部でインタラクションに参加する人や組織の役割を表します |
| System(alias, "label", "description") | システムノード | 分析が必要なソフトウェアシステムを表します |
| System_Ext(alias, "label", "description") | 外部システムノード | システムが依存するサードパーティサービスまたは外部ソフトウェアシステムを表します |
| System_Boundary(alias, "label") | システム境界 | システムの範囲の境界を表します |
| Container(alias, "label", "technology") | コンテナ | システム内部で独立して実行できるソフトウェア単位を表します |
| Container_Boundary(alias, "label") | コンテナ境界 | 1 つのコンテナまたはサービスの範囲を表します |
Mermaid で C4 図を生成する詳細な構文は、以下のページをご覧ください: https://www.processon.io/ja/mermaid/c4-diagram
C4 図はソフトウェアアーキテクチャ設計、システム分析、技術ドキュメントに適しています。無料でお試しください Mermaid C4 図オンラインエディタ。
基本構文
Mermaid では architecture-beta 宣言を使ってアーキテクチャ図を作成します。
architecture-beta
group api(cloud)[API server]
service server(server)[server] in api
service database(database)[databasa] in api
server:R --> L:database
レンダリング結果

ここで:
Mermaid でアーキテクチャ図を生成する詳細な構文は、以下のページをご覧ください: https://www.processon.io/ja/mermaid/architecture-diagram
アーキテクチャ図は、サーバー、データベース、クラウドサービス、アプリケーションサービス、および異なるシステムコンポーネント間の関係を表すのに適しています。無料でお試しください Mermaid アーキテクチャ図オンラインエディタ。
基本構文
ブロック図は主にモジュールと接続関係によってシステム構造を表現します、Mermaid では block-beta 宣言を使ってブロック図を作成します。
block-beta
A space B
A["User"] --> B["Application"]
B space C
B --> C["Database"]
レンダリング結果

ここで:
Mermaid でブロック図を生成する詳細な構文は、以下のページをご覧ください: https://www.processon.io/ja/mermaid/block-diagram
ブロック図はシステムモジュール、機能構造、技術アーキテクチャ、コンポーネント関係などのシーンに適しています。無料でお試しください Mermaid ブロック図オンラインエディタ。
基本構文
パケット図は主に、ネットワークパケットやプロトコルのデータ構造におけるフィールドと長さを表すために使用します、Mermaid では packet-beta 宣言を使ってパケット図を作成します。
packet-beta
0-7: "Version"
8-15: "Type"
16-31: "Length"
レンダリング結果

ここで:
パケット図はネットワークプロトコル、パケット構造、技術仕様ドキュメントに適しています。無料でお試しください Mermaid パケット図オンラインエディタ。
Mermaid の構文に詳しくなくても、Mermaid を使えないわけではありません。図形を生成するには、次のようないくつかの方法があります:
無料で Mermaid テンプレートを使用する
まず要件に近いテンプレートを選択し、その中のノード、テキスト、関係を変更します。この方法は Mermaid を初めて使用するユーザーに適しています。
AI による Mermaid コードの生成
必要なグラフを自然言語でそのまま記述できます。たとえば:
EC サイトの注文処理フローを作成します。ユーザーの注文、支払い、在庫チェック、出荷、注文完了を含みます。
AI は記述に基づいて Mermaid コードを生成し、実際の要件に応じて修正できます。
AI を使ったコードのチェックと修正
Mermaid コードに構文エラーがある場合は、AI に問題の特定とコードの修正を支援してもらえます。
画像認識によるコード生成
既存のフローチャート、アーキテクチャ図、その他の構造化されたグラフについては、画像認識によって Mermaid コードを生成し、そのまま編集を続けることができます。
Mermaid オンラインエディタは通常、3 つの中核的な課題を解決する必要があります:コードの作成、グラフのプレビュー、結果のエクスポート。さらに、テンプレートと AI も Mermaid の利用ハードルを下げることができます。
たとえば ProcessOn Mermaid オンラインエディタを例にすると、ブラウザで直接次のことができます:
• Mermaid コードを作成する
• 既存の Mermaid コードを貼り付ける
• リアルタイムでのレンダリングとプレビューグラフ
• 無料で Mermaid テンプレートを使用する
• 自然言語 AI による Mermaid グラフの生成
• AI による Mermaid コードのチェックと修正
• 次の方法で、画像認識を利用して Mermaid コードを生成する
• 生成された図形を二次編集および修正できます
• PNG、PDF、SVG、JPG、Markdown 形式のエクスポート
そのため、Mermaid を頻繁に作成する必要がある図形ユーザーにとって、ProcessOn Mermaid オンラインエディタでは Mermaid コードの作成、図形生成、二次編集、エクスポートと共有を 1 つの作業環境に集約できます。
Mermaid のフローチャート、シーケンス図、クラス図から、ガントチャート、マインドマップ、象限図、サンキー図、Git グラフ、C4 図、アーキテクチャ図まで、すべて Mermaid 構文で作成と編集できます。
ぜひ使って Mermaid オンラインエディタで、オンラインで Mermaid コードを作成し、グラフを生成しましょう。
Mermaid の構文を覚えるのは難しいですか?
Mermaid の基本構文は比較的簡単で、ほとんどのグラフではグラフ宣言、ノード、接続線、テキストといった基本的な書き方を押さえるだけで十分です。たとえば、sequenceDiagram はシーケンス図を宣言するために使用し、flowchart はフローチャートを宣言するために使用します。グラフの種類によって構文ルールが異なるため、複雑なグラフでは対応するパラメータや設定をさらに学ぶ必要があります。
Mermaid のコードを書き間違えると、なぜグラフを生成できないのですか?
Mermaid は構文構造に敏感です。よくある原因には、グラフ宣言の誤り、ノードや接続線の構文の不足、インデントや特殊文字の扱いの誤り、現在の Mermaid バージョンでサポートされていない構文の使用などがあります。
Mermaid と従来の作図ソフトウェアの違いは何ですか?
Mermaid は主にテキストコードでグラフを記述しますが、従来の作図ソフトウェアは通常、図形のドラッグ、接続線の作図、スタイルの調整によってグラフを作成します。
Mermaid のグラフは保存して再利用できますか?
できます。Mermaid のグラフの中核となる内容はテキストコードであるため、コードを Markdown、コードファイル、その他 Mermaid をサポートするドキュメントに保存し、必要なときに再度レンダリングできます。
これは Mermaid と画像のみのグラフとの重要な違いでもあります:画像が保存するのは最終結果ですが、Mermaid のコードはグラフの構造情報も同時に保存します。
Mermaid と Markdown にはどのような関係がありますか?
Mermaid は Markdown と一緒に使用されることがよくありますが、両者は同じ構文ではありません。
Markdown は主に構造化テキストの作成に使用し、Mermaid はコードでグラフを生成するために使用します。Mermaid に対応した Markdown エディタでは、Mermaid コードを Markdown ドキュメントに埋め込むことができ、グラフとテキストの説明を同じドキュメントに配置できます。