メインコンテンツへスキップ

無料HTMLからマークダウンコンバーター

HTML をクリーンな Markdown に変換します。見出し、リスト、リンク、画像、コード ブロック、表、ブロック引用符を処理します。 CMS からコンテンツを移動するのに最適です。

読み込み後はオフラインでも動作

左側に HTML を貼り付けると、右側にクリーンな Markdown が表示されます。Markdown は HTML より単純なため、スタイル・スクリプト・複雑なテーブルは簡略化または省略されます。

ヒント:Webページ、Word、またはGoogle Docsからコピーしたリッチテキストを貼り付けてください。HTMLは自動的にキャプチャされます。

Markdown 出力
Markdown 出力がここに表示されます…

主な用途

  • ブログコンテンツをMarkdownに移行古いWordPress、Medium、またはその他のCMSの投稿をスタティックサイトジェネレーター用のMarkdownに変換します。
  • メールコンテンツをMarkdownに変換HTMLメールやウェブ記事からテキストを抽出し、ノート取りアプリ用のプレーンMarkdownに変換します。
  • HTMLドキュメントをMarkdownに変換レガシーHTMLドキュメントをMarkdownベースのドキュメントシステム(Docusaurus、GitBook、MkDocs)に移行します。
  • CMS書き出しのクリーンアップCMSから書き出された散らかったHTMLをクリーンアップし、バージョン管理対応のMarkdownに変換します。
  • LLMプロンプト用のHTMLコンテンツを準備HTMLコンテンツをきれいなMarkdownに変換し、ChatGPT、Claude、その他のLLMプロンプトで使用します。

使い方

このコンバーターは、手書きの、依存関係のない正規表現パイプラインを中心に構築されています — サードパーティのライブラリはインポートされません。変換全体はReactのuseMemo呼び出しを介してブラウザ内で行われ、入力するたびに出力がライブ更新されます。

  1. 1
    貼り付け検出がリッチテキストをインターセプトする
    ClipboardEventハンドラーが、ブラウザがプレーンテキストを貼り付ける前にクリップボードからtext/html形式を読み取ります。これにより、Webページ、Google Docs、Wordから直接貼り付けると自動的に生のHTMLマークアップがキャプチャされます — まずソースを表示する必要はありません。
  2. 2
    複数パスの正規表現パイプラインがタグを取り除いて変換する
    コンバーターは正規表現パスの厳密な順序で実行されます:まず<head>、<script>、<style>、HTMLコメントを取り除き、その後、後続のパスがコード内容を破損させないよう、フェンス付きコードブロックをnullバイトのプレースホルダーの後ろに隠します。続くパスは見出し(h1〜h6)、引用、画像、リンク、太字/斜体/取り消し線、順序付き・順序なしリスト、基本的なGFMパイプテーブルを処理します — 各パスは特定のタグファミリーを対象とします。
  3. 3
    エンティティのデコードと空白の正規化
    すべてのタグが取り除かれた後、専用のdecodeEntities関数がString.fromCodePointを使って名前付きエンティティ(&amp;、&lt;など)と10進・16進の数値文字参照(&#39;、&#x27;)を解決します。不正な、または範囲外のコードポイントはエラーを投げるのではなくUnicode置換文字に置き換えられます。末尾のスペース、連続する空行の折りたたみ、余分な空白はその後正規化されます。
  4. 4
    保護されたコードスパンが復元される
    プレースホルダーシステム(nullバイト区切りのインデックス)は、取り除き、デコード、空白の折りたたみがすべて完了した後、最後に展開されます。これにより、コードリテラル内のエンティティシーケンスが2回デコードされてしまうこと — ナイーブなHTML-to-Markdownコンバーターでよくあるダブルデコードのバグ — を防ぎます。

関連ツール

よくある質問