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

HTMLをMarkdownに変換|ページをそのまま手元の記録に

HTMLを貼るとMarkdownが返ります。見出し、箇条書き、リンク、コードブロック、そして表も表のまま残るので、READMEやWikiにそのまま置いて使えます。

高速 プライベート Cookieゼロ
見出し
箇条書き

HTML 入力

Markdown 出力

このツールの動作

HTML が入り、Markdown が出ます。

<h1>見出し</h1>
<p><strong>太字</strong>と<a href="https://x.dev">リンク</a>。</p>
<ul><li>一</li><li>二</li></ul>
# 見出し

**太字**と[リンク](https://x.dev)。

*   一
*   二

見出しは setext を選ばなければ ATX、箇条書きは - を選ばなければ *、<pre><code class="language-js"> は柵に言語を残します。

表は表のまま

<table><tr><th>名前</th><th>役割</th></tr><tr><td>Ada</td><td>著者</td></tr></table>
| 名前 | 役割 |
| --- | --- |
| Ada | 著者 |

turndown には <table> の規則がありません。このページを書くまで、表はセルが一行ずつ並んだ形で出てきて、そこに格子があったことを示すものは結果のどこにもありませんでした。これは最悪の部類の欠陥です。読む限りは問題なく見えるからです。いまは規則が GFM の表を書きます。<th> の無い表は最初の行を見出しに使います。GFM には見出しの無い表がないからです。

スクリプトは段落ではない

<p>こんにちは</p><script>alert(1)</script>
こんにちは

<script> の中身はブラウザーが実行するコードであって、表示する文章ではありません。それが散文として文書に写し取られていました。<style> は CSS で同じことをしていました。どちらも取り除きます。ページが実際に見せているものはすべて残ります。

パイプ表に入らないもの

GFM の表は一行のセルでできた格子です。次の四つは失われるのではなく平らにされます。

  • colspan と rowspan。 セルは自分の列を保ち、またがった残りは空になります。rowspan の下の行は一列ぶん左にずれます。
  • セルの中の表。 GFM に入れ子の表はないので、内側の表はセルの中に一行で書かれ、パイプは退避されます。
  • セルの中の段落や箇条書き。 一行にまとめられます。
  • <caption>。 パイプ表に置き場所がないため、消えるのではなく直前の段落になります。

そのほか、ブロックの順序も文章もリンクも、そのまま通ります。

プライバシー

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

よくある質問

HTML の表は扱えますか。
はい、GFM のパイプ表になります。このページを書くまでは違いました。ツールが使う turndown には `<table>` の規則が無く、表はセルが一行ずつ並んだだけの形で出てきて、失われたことを告げるものは何もありませんでした。`<th>` の無い表は最初の行を見出しに使います。GFM には見出しの無い表がないからです。
`<script>` の中身はどこへ行きましたか。
それは初めから文章ではありませんでした。`<script>` の中身はブラウザーが実行するコードで、それが段落であったかのように文書の途中に置かれていました。`alert(1)` もそのままです。いまは `<script>` と `<style>` を取り除きます。ページが実際に表示するものはすべて残ります。
どの Markdown が出ますか。
GitHub Flavored Markdown です。見出しは既定で ATX(`# 見出し`)、希望すれば setext(下線)。箇条書きは `*` か `-`。コードブロックは `class="language-js"` から読んだ言語を柵に残します。リンクと画像の URL は相対のものも含めて書かれたとおりです。

関連ツール