Mermaid記法完全ガイド|
Claude/ChatGPTで図を自動生成
【プロンプト12本・エラー対処つき】
Mermaidはテキストで図を書ける記法だ。だが2026年の使い方は「自分で書く」ではない。AIに書かせて、貼るだけ。本記事は構文カタログではなく、AIに正しいMermaidを吐かせるプロンプト12本、AI出力が壊れる典型7パターンの直し方、コピペで動く業務テンプレート10種という実務3点セットで構成した。
1. 結論——3分で使い始める最短ルート
2. Mermaidとは何か・どこに貼れるか
Mermaid(マーメイド)は、テキストを書くだけで図が描けるオープンソースの記法だ。Markdownの中にそのまま埋め込める。2026年5月時点の最新版はv11.15である。
なぜテキストで図を書くのか
- Gitでバージョン管理できる
- プルリクエストで図の差分が見える
- AIが生成・修正できる
- 専用ツールの導入・ライセンス費用が不要
- コードと同じ場所で管理できる
- 検索・置換で一括修正できる
- レイアウトを細かく制御できない
- デザイン性の高い図には向かない
- 要素が多すぎると自動配置が崩れる
- 環境によって描画結果が微妙に異なる
- 構文エラーだと何も表示されない
貼り先の対応状況
| 貼り先 | 対応 | 書き方 |
|---|---|---|
| GitHub / GitLab | ネイティブ対応 | コードブロックの言語指定を mermaid にする |
| VS Code | 拡張機能で対応 | Markdown Preview Mermaid Support 等 |
| Notion | ネイティブ対応 | コードブロックを作り言語をMermaidに変更 |
| Obsidian | ネイティブ対応 | コードブロックの言語指定を mermaid に |
| Mermaid Live Editor | 公式のWebエディタ | mermaid.live に貼るだけ。プレビュー・PNG/SVG書き出し可 |
| Confluence / Slack | 環境による | アプリ導入が必要。非対応なら画像化して貼る |
| PowerPoint / Word | 非対応 | Live EditorでPNG/SVGに書き出してから貼る |
3. 最低限の構文(これだけ覚えれば足りる)
AIに書かせるとしても、出力を読めないと修正できない。覚えるのはこの3つだけでいい。
① 1行目で図の種類を宣言する
sequenceDiagram ← シーケンス図
gantt ← ガントチャート
erDiagram ← ER図
stateDiagram-v2 ← 状態遷移図
classDiagram ← クラス図
mindmap ← マインドマップ
② ノードは「ID[表示名]」で書く
A[申請] ← 四角
B{承認?} ← ひし形(条件分岐)
C([完了]) ← 角丸
D[(データベース)] ← 円柱
③ 矢印でつなぐ
A[申請] –> B{承認?}
B –>|OK| C([完了])
B –>|NG| D[差し戻し]
D –> A
A -.-> E[通知] ← 点線矢印
A ==> F[重要な流れ] ← 太線矢印
4. AIに書かせるプロンプト12本
そのまま貼って使えるプロンプトを用途別に用意した。〈 〉部分を自分の内容に置き換えるだけでいい。
基本形(まずこれを使う)
条件:
– コードブロックのみを出力し、説明文は不要
– ノードIDは半角英数(A、B、C…)にする
– 日本語ラベルは必ずダブルクォートで囲む
– 「end」を単独のノードIDに使わない
【内容】
〈ここに業務フローや処理内容〉
図の種類を指定する
以下の業務手順をMermaidのフローチャート(flowchart TD)にしてください。
判断が必要な箇所はひし形の条件分岐にし、分岐ラベルに条件を書いてください。
コードブロックのみ出力してください。
【内容】〈業務手順〉
【プロンプト3】システム間のやりとり → シーケンス図
以下のやりとりをMermaidのシーケンス図(sequenceDiagram)にしてください。
登場人物・システムをparticipantで定義し、時系列順に矢印で表現してください。
【内容】〈処理の流れ〉
【プロンプト4】プロジェクト計画 → ガントチャート
以下のタスクをMermaidのガントチャート(gantt)にしてください。
dateFormat は YYYY-MM-DD、タスクはsectionでグループ化してください。
【内容】〈タスクと期間〉
【プロンプト5】DB設計 → ER図
以下のテーブル定義をMermaidのER図(erDiagram)にしてください。
主キー・外部キーを明示し、リレーションのカーディナリティを正しく表現してください。
【内容】〈テーブル定義〉
【プロンプト6】状態の遷移 → 状態遷移図
以下の状態遷移をMermaidの状態遷移図(stateDiagram-v2)にしてください。
開始状態と終了状態を明示してください。
【内容】〈ステータスと遷移条件〉
既存の資料から図を起こす
以下の議事録から、決定した業務フローを抽出してMermaidのフローチャートにしてください。
議事録に書かれていない工程は推測で追加せず、不明な箇所は「要確認」ノードにしてください。
【議事録】〈本文を貼る〉
【プロンプト8】コードから処理フローを起こす
以下のコードの処理の流れをMermaidのフローチャートにしてください。
関数呼び出しの階層ではなく、処理の順序と分岐が分かる粒度でお願いします。
【コード】〈コードを貼る〉
【プロンプト9】仕様書からシーケンス図を起こす
以下のAPI仕様から、リクエストからレスポンスまでの流れをMermaidのシーケンス図にしてください。
エラー時の分岐もaltブロックで表現してください。
【仕様】〈仕様を貼る〉
修正・改善に使う
以下のMermaidコードが描画されません。構文エラーを修正してください。
修正した箇所と理由も併せて説明してください。
【コード】〈エラーになるコードを貼る〉
【プロンプト11】図を簡略化する
以下のMermaid図が複雑すぎて読みにくいです。
主要な流れだけを残して簡略化し、詳細はsubgraphでまとめてください。
【コード】〈既存のコードを貼る〉
【プロンプト12】図から抜けを指摘させる
以下のMermaidフローチャートを見て、業務フローとして抜けている可能性がある工程や、
考慮されていない例外パターンを指摘してください。図の修正は不要です。
【コード】〈既存のコードを貼る〉
5. 【最重要】AI出力が壊れる7パターンと直し方
AIが生成したMermaidは、そのまま貼ると描画されないことがある。原因はほぼこの7つに集約される。ここを押さえておけば、エラーが出ても数十秒で直せる。
① 日本語ラベルに括弧が入っている
最頻出のエラー。ラベル内の丸括弧・角括弧が構文として解釈されてしまう。
✗ 描画されない
A[承認(部長)] –> B[完了]
✓ ダブルクォートで囲む
A[“承認(部長)”] –> B[完了]
全角括弧でも起きることがある。日本語ラベルは常にダブルクォートで囲む習慣にしておけば、この問題は起きない。
② ノードIDに日本語や記号を使っている
✗ 不安定
申請 –> 承認
ユーザーA –> 処理-1
✓ IDは半角英数、表示名はラベルで
A[申請] –> B[承認]
U1[ユーザーA] –> P1[処理1]
環境によっては日本語IDでも動くが、ハイフンやスペースが混ざると壊れる。IDと表示名を分けるのが安全策だ。
③ 「end」を単独で使っている
✗ フローチャートが壊れる
start –> end
✓ 予約語を避ける
S[開始] –> E[終了]
end はsubgraphの終端を示す予約語のため、ノードIDとして使うと構文が破綻する。AIは英語の思考で「start → end」と書きがちなので、頻繁に踏む地雷だ。
④ 改行を普通の改行で書いている
✗ 反映されない
A[1行目
2行目]
✓ <br/> を使う
A[“1行目<br/>2行目”]
⑤ subgraph内でノードIDが重複している
✗ 意図しない結線になる
subgraph 開発
A[テスト]
end
subgraph 本番
A[テスト]
end
✓ IDに接頭辞をつける
subgraph 開発
DEV_A[テスト]
end
subgraph 本番
PRD_A[テスト]
end
同じIDは同じノードと解釈されるため、別グループに同名のノードを置くと1つに統合されてしまう。エラーにはならず「なぜか線がおかしい」という症状になるので気づきにくい。
⑥ シーケンス図でコロンの位置が違う
✗
ユーザー –>> サーバー : リクエスト送信
✓ participantで定義し、コロンの前に空白を入れない
participant U as ユーザー
participant S as サーバー
U–>>S: リクエスト送信
S–>>U: レスポンス返却
⑦ 最新の図種が貼り先で未対応
6. コピペで動く業務テンプレート10種
そのまま貼れば動くテンプレートを用意した。中身を自分の業務に書き換えて使ってほしい。
① 業務承認フロー
A[“申請書を作成”] –> B[“上長に提出”]
B –> C{“上長承認”}
C –>|承認| D{“金額が10万円以上”}
C –>|差し戻し| A
D –>|Yes| E[“部長承認”]
D –>|No| F[“経理処理へ”]
E –> F
F –> G([“完了”])
② API通信のシーケンス図
participant U as ユーザー
participant F as フロントエンド
participant A as APIサーバー
participant D as データベース
U–>>F: 検索ボタンを押す
F–>>A: GET /api/search
A–>>D: SELECT クエリ実行
D–>>A: 結果を返却
alt データあり
A–>>F: 200 OK
F–>>U: 検索結果を表示
else データなし
A–>>F: 404 Not Found
F–>>U: 該当なしと表示
end
③ プロジェクト計画のガントチャート
title サイトリニューアル計画
dateFormat YYYY-MM-DD
section 要件定義
ヒアリング :a1, 2026-09-01, 7d
要件まとめ :a2, after a1, 5d
section 設計・制作
デザイン :b1, after a2, 14d
実装 :b2, after b1, 21d
section 公開
テスト :c1, after b2, 7d
本番リリース :milestone, after c1, 0d
④ データベースのER図
USERS ||–o{ ORDERS : “注文する”
ORDERS ||–|{ ORDER_ITEMS : “含む”
PRODUCTS ||–o{ ORDER_ITEMS : “選ばれる”
USERS {
int id PK
string name
string email
}
ORDERS {
int id PK
int user_id FK
datetime ordered_at
}
ORDER_ITEMS {
int id PK
int order_id FK
int product_id FK
int quantity
}
⑤ 案件ステータスの状態遷移図
[*] –> 問い合わせ
問い合わせ –> 商談中 : 初回打ち合わせ
商談中 –> 見積提出 : 要件確定
見積提出 –> 受注 : 承認
見積提出 –> 失注 : 見送り
商談中 –> 失注 : 中断
受注 –> [*]
失注 –> [*]
⑥ サブグラフで領域を分けた構成図
subgraph クライアント
B[“ブラウザ”]
end
subgraph サーバー
W[“Webサーバー”]
AP[“アプリサーバー”]
end
subgraph データ層
DB[(“データベース”)]
C[(“キャッシュ”)]
end
B –> W
W –> AP
AP –> DB
AP –> C
⑦ 企画整理のマインドマップ
root((“新サービス企画”))
ターゲット
中小企業
個人事業主
提供価値
工数削減
コスト削減
課題
認知獲得
価格設定
競合
A社
B社
⑧ 円グラフ
“オーガニック検索” : 45
“SNS” : 25
“広告” : 20
“その他” : 10
⑨ Gitのブランチ運用図
commit id: “初期実装”
branch develop
commit id: “機能A追加”
branch feature/login
commit id: “ログイン実装”
checkout develop
merge feature/login
checkout main
merge develop tag: “v1.0”
⑩ 施策のタイムライン
title 2026年 施策ロードマップ
Q1 : サイトリニューアル
: SEO記事の量産開始
Q2 : 広告運用の内製化
Q3 : MA導入
: ウェビナー開始
Q4 : 効果測定と改善
7. 2026年の新機能——v11系で増えた図
2024年のv11.0で描画エンジンが刷新されて以降、新しい図種が次々と追加されている。主なものを整理する。
| 図種 | 用途 | 安定度 |
|---|---|---|
| Architecture | クラウド構成図 | v11系で追加 |
| Kanban | タスクボードの可視化 | v11系で追加 |
| Radar | 複数軸での比較(技術スタック評価、スキル可視化) | v11.6で追加 |
| Treemap | 階層データの面積表現 | Beta |
| Packet | 通信パケットの構造図 | v11系で追加 |
| Block | ブロック図 | v11系で追加 |
| Venn / Ishikawa | ベン図・特性要因図 | v11.13で追加・実験的 |
加えて、フローチャートには30種類の新しいShapeと @{shape:...} という指定記法、図全体の見た目を切り替えるLook機能(手描き風など)、より高度なレイアウトエンジンELKが導入された。
8. Mermaidが向かないケース
✗ ① 顧客提出用のデザイン性が高い図
Mermaidは自動レイアウトなので、要素の位置やサイズを細かく制御できない。提案書の表紙やサービス紹介資料など、見栄えが価値になる図には向かない。その用途はデザインツールを使うべきだ。
✗ ② ノードが50を超える巨大な図
要素が増えると自動配置が破綻し、線が交錯して読めなくなる。大きくなってきたら、subgraphでまとめるか、複数の図に分割する。「1枚に全部詰め込む」はMermaidが最も苦手とする使い方だ。
✗ ③ 非エンジニアが単独で編集する運用
AIに書かせられるとはいえ、エラーが出たときの対処には多少の慣れが要る。チーム全員が編集する前提なら、GUIのツールのほうが定着しやすい場合がある。AIを使える人が図の管理を担う体制なら問題ない。
✗ ④ PowerPoint中心の組織で頻繁に貼り替える場合
PowerPointはMermaidに対応していないため、毎回PNG/SVGへの書き出しが挟まる。図の更新頻度が高いと、この変換作業が地味に負担になる。ドキュメントがMarkdown中心の組織なら真価を発揮する。
9. よくある質問
Mermaidは「AIに図を書かせる」入口として最も手軽な手段です。ただし業務全体で見れば、議事録から図を起こす、仕様書を自動更新する、ナレッジを蓄積するといったドキュメント運用そのものの設計が効果を左右します。AIを業務プロセスにどう組み込むかの設計は、LIFRELLのAIマーケティング相談をご活用ください。各種AI・SaaSツールを実際に有料契約して検証している立場から、現場で回る形に落とし込みます。
社内での生成AI定着から着手したい場合は生成AIeラーニング研修おすすめ完全ガイドもご覧ください。
