MarkdownをPDFに変換する方法を、ブラウザ印刷・VS CodeのMarkdown PDF拡張・Pandocで比較。単発、編集中、自動化の用途別に選びます。
目次(10)
MarkdownをPDFにするだけなら、必ずしも専用の変換サービスは必要ありません。一度だけ保存するなら、Markdownをブラウザで整形表示して「印刷 → PDFに保存」する方法が最短です。 同じ設定で繰り返し生成したい場合や、自動処理へ組み込みたい場合はPandocの方が向いています。
この記事では、MarkdownをPDF化する方法を、ブラウザ印刷・VS Code拡張・Pandocの3つに分け、「手軽さ」「再現性」「処理場所」から整理します。
結論:単発はブラウザ、VS Code利用者は拡張、自動化はPandoc
先に選び方だけまとめると、次のようになります。
| やりたいこと | 向いている方法 | 理由 |
|---|---|---|
| 完成済みのMarkdownを1回だけPDFにしたい | Markdown Viewer+ブラウザ印刷 | インストール不要で、開いてすぐ保存できる |
| AIの下書きを修正してからPDFにしたい | Yomu+ブラウザ印刷 | 編集・プレビュー・PDF保存を同じ画面で続けられる |
| READMEやメモをその場でPDFにしたい | Markdown Viewer+ブラウザ印刷 | 閲覧中心で操作が少ない |
| VS CodeでMarkdownを書いている | Markdown PDF拡張 | エディタ内からPDF/HTML等へ書き出せる |
| 毎回ほぼ同じ見た目で出したい | Pandoc | 設定をコマンドやテンプレートとして残せる |
| 複数ファイルをまとめて処理したい | Pandoc | スクリプトやCIへ組み込みやすい |
| 外部の変換サーバーへ本文を送りたくない | ローカル処理できる方法 | 「オンラインかどうか」より処理場所が重要 |
oka-projectでは、ブラウザ印刷までの入口を用途別に2つ用意しています。
Markdown Viewerは、完成済みの.mdファイルやMarkdownテキストを開き、表示を確認してPDFにするための道具です。
Yomuは、ChatGPTやClaudeで作った原稿などを左側で修正し、プレビューを見ながら整えてからPDFにするためのエディタです。
どちらもPDF専用の変換APIへ本文を送る方式ではなく、ブラウザ内で表示した内容をブラウザの印刷機能からPDFとして保存します。完成済みならViewer、保存前に書き直すならYomu、と使い分けてください。
方法1:ブラウザで表示してPDFに保存する
一番簡単なのは、Markdownをブラウザ上でレンダリングしてから、そのページをPDFとして保存する方法です。
Chromeでは、PCで Ctrl + P、Macで ⌘ + P を押すと印刷画面を開けます。そこでPDF保存を選べば、表示中の内容をPDFとして保存できます。
完成済みのMarkdownならViewerを使う
Markdown Viewerを使う場合は、次の流れです。
- Markdown Viewerを開く
- .mdファイルを選ぶ、またはMarkdownテキストを貼り付ける
- 見出し・表・コードなどのプレビューを確認する
Ctrl + Pまたは⌘ + Pで印刷画面を開く- PDF保存を選び、向き・余白・倍率などを確認して保存する
保存前に原稿を直すならYomuを使う
Yomuを使う場合は、次の流れです。
- Yomuを開く
- ChatGPT・Claudeの回答を貼り付けるか、.md / .txtファイルを開く
- 左側で文章を修正し、右側のプレビューで見え方を確認する
- 「エクスポート」から「PDF / 印刷」を選ぶ
- 印刷画面でPDF保存を選ぶ
Yomuでは見出し・表・コードのほか、目次、文字数、推定読了時間も確認できます。一方、画像の自動埋め込みや複数原稿の管理は行わないため、必要な画像は保存前後に別途調整してください。
どちらを使う場合も、PDF化する前に一度プレビューを確認することが重要です。Markdownの書き方が正しくても、表の幅や長いコード行は紙面サイズに収まらないことがあります。
Markdownをブラウザで確認する方法自体は、Markdownをブラウザだけでプレビューする方法で詳しく整理しています。
「ブラウザで使う」と「サーバーへ送る」は同じではない
PDF変換ツールを選ぶときに混同しやすいのが、Webページ上で動くことと、ファイルをサーバーへアップロードすることです。
Webツールには、ファイルをサーバーへ送って変換するものもあれば、JavaScriptやWebAssemblyを使って端末側で処理するものもあります。ブラウザのFile APIを使えば、利用者が選んだローカルファイルをブラウザ内で読み取ることもできます。
ただし、ブラウザ内で読み込んでいるだけでは「外部送信しない」とは断定できません。 読み込んだ内容をJavaScriptから別のAPIへ送る実装も可能だからです。
そのため、公開前の原稿や業務文書を扱う場合は、少なくとも次の点を確認した方が安全です。
- 本文やファイルを変換サーバーへ送信するか
- 保存期間があるか
- 外部APIや外部リソースへ通信するか
- 通信先をContent Security Policy(CSP)などで制限しているか
oka-projectのMarkdown ViewerとYomuでは、入力内容をブラウザ内で処理し、CSPで不要な外向き通信を制限する方針を採っています。実装上どこまで制限できるのかは、ブラウザ完結ツールの「送信しない」を、約束ではなく構造にするで説明しています。
方法2:VS Codeを使っているならMarkdown PDF拡張
普段からVS CodeでMarkdownを書いている場合、PDF化だけのために別のWebツールへ移る必要はありません。
Visual Studio Marketplaceの現行 Markdown PDF 拡張は、MarkdownをPDF・HTML・PNG・JPEGへ書き出せます。コマンドパレットまたは右クリックから markdown-pdf: Export (pdf) を実行でき、保存時の自動変換にも対応しています。
参考:Visual Studio Marketplace「Markdown PDF」
VS Code自体は標準でMarkdownプレビューを持っています。公式ドキュメントでは、Windows/Linuxは Ctrl+Shift+V、Macは Shift+Command+V でプレビューを開けます。
参考:Visual Studio Code「Markdown and Visual Studio Code」
VS Code拡張が向くケース
- すでにVS Codeで.mdを編集している
- PDF以外にHTMLや画像も出したい
- CSSやヘッダー・フッターを調整したい
- 保存時に自動変換したい
外部通信が気になる場合は設定も確認する
現行Markdown PDFはChromiumベースでPDFを書き出します。環境に対応ブラウザがない場合、管理されたChromiumを自動ダウンロードする設定があります。
また、Mermaidは既定設定でCDNのライブラリを参照する構成が案内されています。PlantUMLにもserver設定があります。
そのため、『Markdown本文を変換サーバーへアップロードしない』ことと『処理中に一切ネットワーク通信しない』ことは同じではありません。 機密文書や完全オフライン要件がある場合は、使用する拡張機能・図表機能・外部リソースの設定まで確認してください。
単発で完成済みMarkdownをPDFにするだけなら、拡張機能を追加せずブラウザ印刷で十分な場合があります。
方法3:PandocでMarkdownからPDFを生成する
毎回同じ条件でPDFを作りたいなら、ブラウザ印刷よりPandocが向いています。
PandocはMarkdownを含む多数の文書形式を変換できるコマンドラインツールです。基本形は次のとおりです。
pandoc input.md -o output.pdf
Pandocの現行User’s Guideでは、.pdfを出力先にすると既定ではLaTeXを使い、LaTeXエンジンが必要と説明されています。--pdf-engineではLaTeX系だけでなく、Typst、WeasyPrint、wkhtmltopdfなど複数のエンジンを指定できます。
たとえばXeLaTeXを使う場合は次の形です。
pandoc input.md --pdf-engine=xelatex -o output.pdf
Pandocを使う利点は、「PDFを作れる」ことよりも、生成条件を再利用できることにあります。余白、フォント、目次、テンプレートなどを一定にしやすく、同じ処理をスクリプトから繰り返せます。
一方で、最初にPandoc本体やPDFエンジンを用意する必要があります。1ファイルを一度だけPDFにしたいだけなら、ブラウザ方式の方が作業量は少なくなります。
変換して終わりにしない:完成PDFの確認用チェック
どの変換方法も、Markdownのプレビューと完成PDFが同じである保証はありません。次の短い原稿を同じ条件でPDF化し、結果を開いて確認してください。
| 検査対象 | 完成PDFで見ること |
|---|---|
| 見出し | ページ末尾に見出しだけ取り残されていないか |
| 表 | 横幅を超えて文字・列が切れていないか |
| コードブロック | 横にはみ出した行や折り返しが読めるか |
| 日本語 | フォントが置き換わり文字化けしていないか |
| リンク | PDF閲覧アプリから開けるリンクが意図したURLか |
| ページ数・印刷 | 余白、用紙サイズ、ページ番号が納品条件に合うか |
ブラウザの[印刷→PDFへ保存]が端末内で完結する場合と、外部の「PDF変換サイトへアップロード」する場合は処理場所が異なります。未公開原稿を扱うなら、ツールの宣伝文だけでなく実際のファイルの取り扱い条件を確認してください。
PDF化で崩れやすい4つのポイント
表がページ幅を超える
列数が多いMarkdown表は、画面では読めてもA4縦では収まらないことがあります。PDF保存前に印刷プレビューで確認し、必要なら横向きや倍率を調整します。
表そのものが崩れている場合は、PDF化より前にMarkdownの記法を直す必要があります。
Markdownの表が崩れる・表示されない原因では、記法とレンダラーの差を切り分けています。
長いコード行が切れる
コードブロック内に改行されない長い文字列があると、右端が切れたり、全体が縮小されたりします。URL、JSON、ログ、長いコマンドを含む文書では特に確認が必要です。
見出し直後で改ページされる
画面では自然でも、PDFでは見出しだけがページ下部に残る場合があります。長文では保存後のPDFを最後まで一度確認した方が確実です。
外部画像は別の通信を発生させることがある
Markdown本文を端末内で処理していても、外部URLの画像を表示するために通信が発生する場合があります。「本文をサーバーへ送っていない」と「ページが一切外部通信しない」は別の話です。
機密性を優先する場合は、画像も含めてローカルで扱える構成か、外部リソースの取得が制限されているかまで確認します。
どの方法を使うか迷ったときの判断基準
まず、PDFにする前に原稿を編集するかどうかで分けます。
- 完成済みのMarkdownを一度確認してPDFにするなら、Markdown Viewer
- AIの下書きや文章を修正してからPDFにするなら、Yomu
- VS Codeで執筆していて、そのまま書き出したいならMarkdown PDF拡張
- 同じ条件で繰り返しPDFを生成・自動化するなら、Pandoc
ViewerとYomuは、どちらも最後はブラウザ印刷を利用します。違いはPDFの作り方ではなく、保存前に必要な作業です。見るだけならViewer、書き直すならYomuを選びます。
Pandocは、同じ原稿から継続的にPDFを作る人向けです。生成条件をコードや設定として残せるため、自動化や再現性を重視する場面に適しています。
また、外部送信を避けたい場合は「オンラインツールか、デスクトップアプリか」だけで判断せず、実際の処理場所と通信先を見ることが重要です。
PDFを別々に作ったあと結合したい場合
この手順で複数のMarkdown原稿をそれぞれPDF化したあと、提出用に1ファイルへまとめたい場合があります。PDF作成とPDF結合は別工程なので、各原稿をPDFとして保存してからページ順を確認する方法が分かりやすいでしょう。
2026年10月7日に公開した Tojiru では、PDFを複数読み込んでページを並べ替え、1つに保存できます。PDFの結合・分割・回転が目的のツールであり、Markdown本文を直接PDFへ変換するものではありません。ファイルの結合処理はブラウザ内で完結します。
よくある質問
MarkdownをPDFにするのに、専用の変換サービスは必要?
必ずしも必要ありません。Markdown ViewerかYomuでブラウザに表示し、Ctrl + P(Macは⌘ + P)の印刷画面からPDF保存を選べば、表示中の内容をPDFとして保存できます。
Markdown ViewerとYomu、PDFにするならどちらを使う?
完成済みのMarkdownを確認してPDFにするならMarkdown Viewer、ChatGPTやClaudeの下書きを修正してからPDFにするならYomuです。どちらも最後はブラウザ印刷を使うので、違いは保存前に必要な作業です。
VS CodeからPDFにしたい場合は?
VS Code標準のMarkdownプレビューに加えて、Markdown PDFのような拡張機能を使う方法があります。普段からVS Codeで編集しているなら作業場所を移さずに済みます。
PandocでPDFを作るには何が必要?
Pandoc本体に加えてPDFエンジンが必要です。公式ドキュメントでは既定でLaTeXを利用すると説明されており、--pdf-engineで別のエンジンを指定することもできます。
PDFにしたら表やコードが切れるのはなぜ?
列数の多い表や改行されない長いコード行は、画面では読めてもA4縦の紙面に収まらないことがあります。PDF保存前に印刷プレビューを確認し、必要なら横向きや倍率を調整します。
まとめ
完成済みのMarkdownを一度だけPDFにしたいなら、Markdown Viewerで開き、ブラウザの印刷機能から保存する方法が最短です。
ChatGPTやClaudeで作った原稿を修正してからPDFにしたい場合は、Yomuで編集とプレビューを行い、そのまま印刷画面へ進めます。
一方、同じ形式のPDFを繰り返し生成したい、複数ファイルをまとめたい、CIやスクリプトへ組み込みたい場合はPandocの方が向いています。