MarkdownをHTMLに変換する方法まとめ

Markdown(マークダウン)で書いた文書をWebページやブログに載せるには、HTMLへの変換が必要です。このページでは、「1回だけサッと変換したい」から「大量ファイルの一括変換」「アプリへの組み込み」まで、用途別に方法をまとめました。

用途別の最適解
用途おすすめの方法
1回だけ・すぐ変換したいブラウザの変換ツール(インストール不要)
ブログ記事として貼りたいスタイル込みHTML出力(CSSとセットでコピー)
大量ファイルの一括変換pandoc(コマンドライン)
ドキュメントサイトを作りたい静的サイトジェネレーター(Hugo・MkDocs等)
自分のアプリに組み込みたいJSライブラリ(marked・markdown-it)

変換で何が起きるのか(対応表)

Markdownの各記法は、次のようにHTMLタグへ機械的に変換されます。

Markdown変換後のHTML
# 見出し<h1>見出し</h1>
**太字**<strong>太字</strong>
- 項目<ul><li>項目</li></ul>
[表示名](URL)<a href="URL">表示名</a>
`コード`<code>コード</code>
段落(空行区切り)<p>...</p>

ここで重要なのは、変換されるのは「構造」だけという点です。フォント・色・余白などの「見た目」はHTMLではなくCSSの担当なので、変換したHTMLを綺麗に表示するにはCSSもセットで必要になります。ブログに貼ったのに素っ気ない見た目になる場合、原因はほぼこれです。

方法1: ブラウザの無料ツールで変換する

もっとも手軽なのは、ブラウザで動く変換ツールです。当サイトのMarkdownビューアーもこの方式で、次の3ステップで完了します。

  1. Markdownテキストを貼り付ける(または .md ファイルをドロップ)
  2. プレビューで表示を確認する
  3. HTMLコピー」ボタンで変換結果をコピーする
当サイトの変換処理はすべてブラウザ内で完結し、入力内容がサーバーに送信されることはありません。社外秘のドキュメントでも安心して使えます。

方法2: ブログ用にスタイル込みで変換する

はてなブログ・WordPressなどに記事として貼る場合は、HTMLだけでなくCSS(見た目)もセットで用意するのがポイントです。手順の考え方はこうです。

  1. ビューアー上でフォント・見出しの装飾・余白を好みに調整する
  2. 「CSSコピー」でスタイルを取得し、ブログの「デザインCSS」欄に貼る(初回のみ)
  3. 記事ごとに「HTMLコピー」で本文を貼り付ける

この方式なら、2記事目以降はHTMLを貼るだけで統一されたデザインになります。見出しの下線や余白の調整方法はビューアーのスタイルカスタマイズパネルで直感的に試せます。

方法3: pandocで一括変換する

コマンドラインが使えるなら、ドキュメント変換の定番ツールpandocが強力です。

基本の変換コマンド
# 1ファイル変換
pandoc input.md -o output.html

# スタンドアロンHTML(head等も含む完全なページ)
pandoc input.md -s -o output.html

# フォルダ内の全.mdを一括変換(bash)
for f in *.md; do pandoc "$f" -s -o "${f%.md}.html"; done
pandocが向いている場面
  • 数十〜数百ファイルの一括変換
  • HTML以外(Word・PDF・EPUB等)への変換も同じツールで
  • CIに組み込んだ自動変換

方法4: JavaScriptライブラリで組み込む

自分のWebアプリでMarkdownを表示したい場合は、変換ライブラリを組み込みます。定番はmarked(軽量・速い)とmarkdown-it(拡張性が高い)です。

markedの最小例
import { marked } from 'marked';

const html = marked.parse('# Hello\n**world**');
// → <h1>Hello</h1><p><strong>world</strong></p>
注意点

ユーザー入力を変換して表示する場合は、サニタイズ(DOMPurify等)が必須です。Markdown内にはHTMLやスクリプトを書けるため、無防備に表示するとXSSの原因になります。

方法5: 静的サイトジェネレーターでサイト化する

「.mdファイル群をドキュメントサイトやブログとして公開したい」場合は、1ファイルずつ変換するのではなく、静的サイトジェネレーター(SSG)に任せるのが正解です。

いずれも「Markdownを書けばHTMLとデザインは自動生成」という思想のツールで、変換作業そのものから解放されます。

まずは1本、変換してみませんか?
貼り付けてプレビュー確認、HTMLコピーまで30秒。登録もインストールも不要です。

無料のMarkdownビューアーで変換する

よくある質問

逆にHTMLをMarkdownに変換できますか?

できます。pandocなら pandoc input.html -o output.md で逆変換が可能です。ただし複雑なHTML(入れ子のdivやCSS依存のレイアウト)は綺麗なMarkdownにならないことが多く、手直しを前提にしてください。

変換したHTMLをメールに貼れますか?

GmailなどのHTMLメールには、変換後の「表示された状態」をコピーして貼るのが実用的です。ビューアーのプレビュー部分を範囲選択してコピーすると、書式付きで貼り付けられます。

WordPressはMarkdownのまま書けませんか?

ブロックエディタは一部のMarkdown入力(# や - など)を自動変換します。完全なMarkdown運用をしたい場合はプラグインを追加するか、HTML変換して貼り付ける方式が確実です。

表やコードブロックも変換されますか?

はい。表は <table>、コードブロックは <pre><code> に変換されます。表の書き方は表のガイド、コードブロックはコードブロックのガイドをご覧ください。

関連ガイド