100% ローカル — データがブラウザの外に出ることはありません

MarkdownをHTMLに変換|テンプレートにそのまま貼れます

MarkdownをHTMLに変換します。GFMの表、チェックリスト、打ち消し線、脚注まで扱えるので、ページやメールのひな形、CMSの入力欄にそのまま置いて使えます。

高速 プライベート Cookieゼロ

Markdown 入力

HTML 出力

このツールの動作

Markdown が入り、HTML が出ます。

# 見出し

**太字**と[リンク](https://x.dev)。
<h1>見出し</h1>
<p><strong>太字</strong>と<a href="https://x.dev">リンク</a>。</p>

GitHub Flavored Markdown は有効です。表、タスクリスト、打ち消し線、自動リンクを読み取ります。柵で囲んだブロックは言語を class="language-js" として残します。強調表示ツールが期待する形です。

脚注、ようやく

Ada は最初のアルゴリズムを書いた[^1]。

[^1]: メナブレアの覚え書きについて、1843年。
<p>Ada は最初のアルゴリズムを書いた<sup class="footnote-ref"><a href="#fn-1" id="fnref-1">1</a></sup>。</p>
<section class="footnotes">
<ol>
<li id="fn-1"><p>メナブレアの覚え書きについて、1843年。 <a href="#fnref-1">↩</a></p></li>
</ol>
</section>

このツールが使う marked には脚注の規則がありません。そのため [^1] は参照リンクとして、[^1]: メナブレアの覚え書きについて、1843年。 はその定義として読まれていました。目印は注記の文言を名前に持つページへのリンクになり、注記の本文はどこにも現れませんでした。本物の欠陥で、このページを書く過程で見つけ、直しました。番号は目印の現れた順に振られ、後ろに注記の無い目印はただの文字列のまま残ります。

HTML はあなたのもので、無害化はされない

[無害そうなリンク](javascript:alert(1)) と <div onclick="steal()">生の HTML</div>。

どちらもそのまま通ります。これは Markdown が約束を守っている姿です。この形式は生の HTML を許しており、それを取り除く変換器はあなたの文書について嘘をつくことになります。ここでの結果は文章として表示され、ページ自身に差し込まれることはありません。

その先はあなたの仕事です。Markdown が他人のもの、たとえばコメントや問い合わせや投稿フォームから来たのなら、公開する前に HTML を無害化してください。DOMPurify のようなライブラリーなら一度の呼び出しで済みます。その置き場所は HTML を公開する側であって、ここではありません。

出てこないもの

  • 文書。 <html> も <head> も文字コードの宣言もスタイルシートもありません。これは何かの中に貼るための断片です。
  • 見出しのアンカー。 GitHub はすべての見出しに id を付けますが、それは表示上の習慣であって Markdown ではないので、<h2> は裸で出てきます。
  • 改行ごとの <br>。 段落の中の単なる改行は、仕様どおり空白のままです。行末の二つの空白、または空行なら、期待どおりに動きます。

プライバシー

すべての処理はブラウザ内のJavaScriptだけで完結します。データがアップロードされることはないため、機密情報でも安心して利用でき、オフラインでも動作します。

よくある質問

HTML は無害化されますか。
いいえ。これは見落としではなく Markdown の決まりです。この形式は生の HTML を許すので、あなたが書いた `<script>` や `onclick` はそのまま出てきます。このページは結果を文章として表示するだけで、自分自身に差し込むことはありません。他人の Markdown を変換して公開するなら、先に無害化ライブラリーを通してください。`[リンク](javascript:…)` が通るのも同じ理由です。
脚注は使えますか。
はい、このページを書いてからは使えます。marked には脚注の規則が無く、`[^1]` は参照リンク、`[^1]: 注記` はその定義として読まれていました。その結果、目印は「注記」という名のページへのリンクになり、注記そのものは文書から消えていました。いまは目印の現れた順に番号が振られ、戻りリンク付きで末尾にまとめられます。GitHub と同じ見せ方です。
出てくるのは何ですか。
文書ではなく断片です。`<html>` も `<head>` もスタイルシートも無く、見出しに `id` も付きません。テンプレートや CMS の項目に貼ってください。GFM は有効で、表、タスクリスト、打ち消し線、自動リンク、`class="language-…"` 付きのコードブロックはすべて通ります。

関連ツール