本文へスキップ
にゃんこツール

Markdown目次(TOC)生成ツール

READMEやドキュメントのMarkdownを貼り付けると、見出しから目次をMarkdownのリストとして作ります。リンクはGitHub形式のアンカーで、コードブロック内の「#」は見出しとして扱いません。変換後の見た目を確認したいときは Markdownプレビュー をご利用ください。

🔒 ブラウザ内で完結・入力データはサーバーに送信されません

使い方

  1. 「Markdown」欄に目次を作りたい文章を貼り付けます。
  2. 「目次に含める最上位の見出し」と「目次に含める最下位の見出し」で深さを決めます。
  3. 「リストの形式」などを選び、「目次をコピー」で結果をコピーします。

注意事項

  • 見出しの抽出は、行頭が「#」のATX形式と、下線(=== / ---)のSetext形式に対応しています。コードブロック(``` / ~~~)とフロントマターの中は対象外です。
  • アンカーは小文字化し、記号を除いてスペースを「-」にするGitHub形式です。同じ見出しが複数あると末尾に連番(-1、-2…)を付けます。GitLabなど他のサービスでは仕様が少し異なる場合があります。
  • 見出しに含まれるリンク・コード・強調は、目次では文字だけにします。HTMLで書いた見出し(<h2>など)は対象外です。
  • 番号付きのときは、ネストが崩れないようにインデントを3つ以上にします。

用語解説

アンカー

ページ内の特定の位置へ移動するためのリンク先(#以降の文字列)です。GitHubでは見出しの文字から自動で作られ、目次のリンクもこの名前を指します。

Setext見出し

見出しの下に「===」または「---」の行を置いて書く形式です。h1とh2だけを表せます。

フロントマター

ファイルの先頭に「---」で囲んで書くメタ情報(YAML)です。静的サイトジェネレーターなどで使われ、本文の見出しではありません。

よくある質問

目次のリンクがGitHubで正しく飛ばないのはなぜですか?

アンカーは見出しの文字から作られるため、目次を作った後に見出しを書き換えるとずれます。見出しを変えたら目次を作り直してください。GitLabなど別サービスではアンカーの規則が少し違うことがあります。

同じ名前の見出しが複数あるとどうなりますか?

2つ目以降に「-1」「-2」と連番を付けます。目次に含めない深さの見出しも数えるので、GitHubで実際に使われるアンカーと一致します。

コードブロックの中の「#」は見出しになりますか?

なりません。``` や ~~~ で囲まれた範囲、ファイル先頭のフロントマターは見出しとして扱いません。シェルのコメント行などが目次に混ざることはありません。

日本語の見出しでもアンカーは作れますか?

はい。日本語の文字はそのままアンカーに使い、記号だけを取り除きます。例えば「使い方 (Usage)」は「#使い方-usage」になります。

このページをシェア

↑↓ 選択 Enter 開く Esc 閉じる