T-CREATOR

<div />

VS Code で Mermaid の図をプレビューする手順: 1.121 以降は拡張機能なしで表示できる

2026年11月3日
VS Code で Mermaid の図をプレビューする手順: 1.121 以降は拡張機能なしで表示できる

VS Code で、Markdown の中の Mermaid の図をプレビューする手順をメモしました。VS Code 1.121 からは、拡張機能を入れなくても Markdown のプレビューで図が表示されます。

経緯

VS Code 1.144.0 で、拡張機能を入れずに Markdown のプレビューを開いたところ、mermaid のコードブロックが図として表示されました。1.121 から、拡張機能「Markdown Preview Mermaid Support」が VS Code に組み込まれたためです。ただ、VS Code で表示できた図が、このブログではエラーになることがありました。

環境

  • macOS 26.6
  • VS Code 1.144.0(中の Mermaid は 11.17.2)

手順

プレビューを開く

Markdown に mermaid のコードブロックを書いて、プレビューを開きます。

markdown```mermaid
flowchart LR
    A[編集] --> B[プレビューで確認]
    B --> A
```
操作MacWindows / Linux
プレビューを開くCmd + Shift + VCtrl + Shift + V
横に並べて開くCmd + K の後に VCtrl + K の後に V

横に並べて開くと、左のソースの mermaid のコードブロックが、右のプレビューでは図として表示されます。

左にソース、右にプレビューを並べて、mermaid のコードブロックが図として表示された画面

拡張機能「Markdown Preview Mermaid Support」が、組み込みの Mermaid Markdown Features になったためです。ノートブックの Markdown セルとチャットでも表示されます。

プレビューと Mermaid CLI の使い分け

したいこと使うもの
Markdown の中の図を見るVS Code のプレビュー
.mmd ファイルを図にするMermaid CLI
SVG、PNG、PDF に書き出すMermaid CLI
Markdown の図をまとめて画像にするMermaid CLI

図のソースをコピーする

図を右クリックして、Copy Diagram Source を選びます。

コマンド内容使える場所
Open Diagram in Editor図をエディターで開くプレビュー、ノートブック、チャット
Copy Diagram SourceMermaid のソースをコピーするプレビュー、ノートブック、チャット、図のエディター
Reset Pan and Zoom移動と拡大縮小を元に戻すチャット、図のエディター

テーマや大きさを変える

settings.json に、markdown-mermaid で始まる名前で書きます。

json{
  "markdown-mermaid.lightModeTheme": "neutral",
  "markdown-mermaid.maxTextSize": 100000
}
設定既定値内容
markdown-mermaid.lightModeThemevscodeライトモードのテーマ
markdown-mermaid.darkModeThemevscodeダークモードのテーマ
markdown-mermaid.languages["mermaid"]図として扱うコードブロックの言語名
markdown-mermaid.maxTextSize50000図の文字数の上限
markdown-mermaid.mouseNavigation.enabledaltマウスで移動できるようにする条件
markdown-mermaid.controls.showonHoverOrFocus操作ボタンを表示する条件
markdown-mermaid.resizabletrue図の下端をドラッグして高さを変えられるようにする

テーマには vscode、base、forest、dark、default、neutral を指定できます。既定の vscode のままダークテーマにすると、図の色もテーマに合わせて変わります。

ダークテーマのプレビューで、図の色もダークに変わった画面

SVG や PNG に書き出す

Mermaid CLI をインストールします。約25秒で終わります。

bashnpm i @mermaid-js/mermaid-cli

出力するファイルの拡張子で形式が変わります。

bashnpx mmdc -i diagram.mmd -o diagram.svg
npx mmdc -i diagram.mmd -o diagram.png
npx mmdc -i diagram.mmd -o diagram.pdf

PNG の解像度を上げるときは、-s で倍率を指定します。幅418ピクセル、高さ1,171ピクセルの図が、幅836ピクセル、高さ2,342ピクセルになります。

bashnpx mmdc -i diagram.mmd -o diagram.png -s 2

ダークテーマで背景を透明にするときは、次のとおりです。

bashnpx mmdc -i diagram.mmd -o diagram.png -t dark -b transparent

書き出す形式は、サイズで選びます。ノードが6つのネットワーク図では、PNG が一番軽くなりました。SVG は図形のデータですが、この図では最も大きくなります。

形式オプションサイズ
SVGなし約207KB
PDFなし約110KB
PNG-s 2(2倍)約87KB
PNG-t dark -b transparent約55KB
PNGなし約39KB

Markdown の中の図をまとめて画像にする

入力に Markdown を指定します。

bashnpx mmdc -i doc.md -o out.md

図が2つある doc.md では、out-1.svg と out-2.svg が作られ、out.md のコードブロックは画像への参照に置き換わります。Mermaid を表示できないサイトに載せるときに便利です。

markdown![diagram](./out-1.svg)

注意点

図のコマンドは右クリックメニューにある

図のコマンドはコマンドパレットには出ません。右クリックメニューから使います。

.mmd ファイルは図にならない

.mmd ファイルを開いても図になりません。組み込みの機能は Markdown のプレビュー用で、.mmd ファイルの言語の登録がないためです。

公開先ではエラーになることがある

VS Code で表示できた図が、公開先ではエラーになることがあります。VS Code 1.144.0 に入っている Mermaid は 11.17.2 で、たとえば architecture-beta に日本語のラベルを書いた図は、上の画面のとおり VS Code では表示されますが、11.12.2 ではエラーになります。

bashgrep -oE 'version:"11\.[0-9]+\.[0-9]+"' \
  "/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/mermaid-markdown-features/markdown-preview-out/"infoDiagram-*.js

図が表示されないとき

大きな図が表示されないときは、markdown-mermaid.maxTextSize を上げます。公開先でエラーになるときは、公開先の Mermaid のバージョンを調べて、そのバージョンで通る書き方に変えます。

参考文献

著書

とあるクリエイター

フロントエンドエンジニア Next.js / React / TypeScript / Node.js / Docker / AI Coding