Markdown コメントジェネレーター

メモを書いて記法を選ぶだけで、ソースには残るのに読者には見えないMarkdownをコピーできます。処理はすべてブラウザ内で完結します。

無料 · 登録不要 · ブラウザ内で完結最終更新

Markdownでコメントアウトするには?

Markdown自体にコメント記法はないため、HTMLコメント `<!-- メモ -->` を使います。GitHub、GitLab、VS Codeなど主要な処理系は、この記述をソースに残したままレンダリング結果からは取り除きます。1行だけなら参照リンク形式の `[//]: # (メモ)` も使えます。

markdown
<!-- TODO:公開前にこの節を書き直す -->

この段落は読者に表示されます。

コメントはレンダリング後のページから完全に消え、段落だけが表示されます。メモはソースに残るため、ファイルを編集する人はそのまま読めます。

Markdown コメントジェネレーターを使う

設定

コメントの書き方

出力

Markdownのコメント記法

CommonMarkはコメント用の記号を定義していないため、以下の方法はいずれも「レンダラーがもともと捨てるもの」を利用した回避策です。違いは対応範囲の広さと、ソース上での目立ちやすさにあります。

HTMLコメント(推奨)

互換性が圧倒的に高い書き方です。Markdownは生のHTMLをそのままレンダラーへ渡し、レンダラーはコメントを破棄します。GitHub、GitLab、VS Code、Obsidian、Jekyll、Hugo、Pandoc、さらにほぼすべての静的サイトジェネレーターで動作します。

markdown
<!-- 2025-05-12 ドキュメントチームがレビュー済み -->

CLIはnpmでインストールします。

表示されるのは「CLIはnpmでインストールします。」だけで、コメントは何も出力しません。

複数行のコメント

同じ区切り記号のまま何行でもまたげます。閉じる `-->` と次の段落の間には空行を入れて、パーサーが1つのブロックとして扱わないようにします。

markdown
<!--
  v2公開までのTODO:
  - 認証フローを説明する
  - 移行ガイドを追加する
-->

## はじめに

「はじめに」の見出しだけが表示され、区切り記号の間にある行はすべて隠れます。

Markdownのブロックごとコメントアウトする

既存のMarkdownをHTMLコメントで囲むと、削除せずに隠せます。「一部分をコメントアウトしたい」という要望への定番の答えです。唯一の注意点は、隠すテキストにハイフン2つを含めないことです。コメントが途中で閉じてしまいます。

markdown
## 現在の価格

<!--
## 旧価格
3.0で廃止しました。参考のため残しています。
-->

表示されるのは「現在の価格」の見出しだけです。旧価格の節はファイルに残りますが、読者には見えません。

参照リンク形式のコメント

参照されないリンク定義を使う方法です。パーサーはラベルを認識しますが、それを参照している箇所がないため何も出力しません。行頭に単独で置き、前に空行を入れる必要があります。そうでないと通常の段落テキストとして扱われます。

markdown
[//]: # (社内メモ:数値は第3四半期のエクスポートより)

売上は前四半期比15%増でした。

[//]: # "ダブルクォートでも書けます"

売上の一文だけが表示され、2つの定義行はどちらも消えます。

空リンクのコメント

参照リンク形式の変種で、定義の飛び先を空にしたものです。機能は同じで、ラベルには未使用の文字列を自由に使えるため、メモを書いた人の名前を入れるチームもあります。

markdown
[comment]: <> (下書きの文案。公開しないこと)
[review-sato]: <> (この記述を変更履歴と突き合わせる)

このAPIは後方互換です。

表示されるのは「このAPIは後方互換です。」だけで、ラベル付きのメモは両方とも隠れます。

ObsidianとMDXの独自コメント

この2つのエコシステムには専用の記法があります。Obsidianはパーセント記号2つで挟んだ部分を隠します。MDX v2はJSXとして解析するためHTMLコメントは構文エラーになり、代わりにJSXの式コメントを使います。

markdown
%% Obsidian専用のコメント。1行でも複数行でも書けます %%

{/* MDX / Docusaurus のコメント */}

それぞれ対応するエコシステムでしか隠れず、別の環境ではそのまま表示されます。どちらも移植性はありません。

各サービスでのコメントの扱い

コメントが効くかどうかは、そのサービスが生のHTMLを許可しているかで決まります。HTMLを除去するチャット系アプリにはコメントの仕組み自体がないため、頼る前に下の表で確認してください。

プラットフォーム対応状況備考
GitHub / GitLab対応README、Issue、PR、Wikiのいずれでも <!-- --> は表示されません。[//]: # も使えます。
VS Code対応Markdownプレビューには表示されません。選択してCtrl+/を押すと <!-- --> で囲めます。
Obsidian対応HTMLコメントに加えて、独自の %% コメント %% 記法も使えます。
Qiita / Zenn一部HTMLコメントは表示されませんが、生HTMLの許可範囲はサービス側の仕様に依存します。はてなブログのMarkdownモードも同様で、公開前にプレビューで確認してください。
Discord / Slack非対応コメント記法が存在せず、区切り記号がそのまま本文として投稿されます。
Notion非対応貼り付けたコメント記法はただの文字列になります。Notion標準のコメント機能を使ってください。
MDX / Docusaurus一部MDX v2は <!-- --> を受け付けません。JSX形式の {/* コメント */} を使います。

Markdownでコメントを書く手順

  1. 記法を選ぶ

    特別な理由がなければHTMLコメントを選びます。ほぼどこでも動く唯一の書き方です。

  2. メモを入力する

    リマインダーやTODO、レビュー用のメモをコメント欄に入力します。複数行のコメントでは改行がそのまま保たれます。

  3. Markdownをコピーする

    コピーボタンで生成された記法を取得し、READMEやIssue、ドキュメントに貼り付けます。

  4. 隠れているか確認する

    コミットや公開の前にプレビュータブを開き、コメントが何も表示しないことを確認します。

よくある質問

Markdownにコメント記法はありますか?

ありません。当初のMarkdown仕様にもCommonMarkにもコメントは定義されていません。現在使われている方法はすべて回避策で、HTMLコメントはレンダラーがコメントを破棄すること、参照リンク形式は参照されないリンク定義が何も出力しないことを利用しています。

Markdownで一部分だけコメントアウトするには?

その範囲をHTMLコメントで囲みます。前の行に <!-- 、後ろの行に --> を置くと、内容はファイルに残ったままレンダリングされません。隠すテキストにハイフンが2つ続く箇所がないか確認してください。厳格なパーサーではそこでコメントが閉じてしまいます。

GitHubのコメント欄はMarkdownで書けますか?

書けます。Issueのコメント、プルリクエストのコメント、レビューコメント、DiscussionsはいずれもGitHub Flavored Markdownで書くため、見出し、リスト、表、タスクリスト、コードブロックがそのまま使えます。入力欄の中に隠しコメントを書くときも、READMEと同じ <!-- メモ --> の記法です。

Markdownで複数行のコメントは書けますか?

HTMLコメントなら書けます。<!-- を単独の行に置き、必要な行数だけ書いて、--> を単独の行で閉じます。参照リンク形式は行をまたげないため、1行ごとに定義を書く必要があります。

Markdownのコメントはソースを見た人にも隠せますか?

隠せません。コメントが消えるのはレンダリング結果だけです。生のファイルを開いた人、GitHubのraw表示を見た人、リポジトリをクローンした人は誰でも読めます。認証情報や機密情報をMarkdownのコメントに書かないでください。

互換性がいちばん高いコメントの書き方はどれですか?

HTMLコメントです。GitHub、GitLab、VS Code、Obsidian、Pandoc、Jekyll、Hugoをはじめ、ほとんどの処理系で動作します。生のHTMLを除去するサービスでは参照リンク形式が最良の代替です。Obsidianの %% 記法とMDXのJSXコメントは、それぞれのエコシステム専用と考えてください。

参照リンク形式のコメントが表示されてしまうのはなぜですか?

リンク定義は行頭にあり、前後の段落との間に空行があるときだけ認識されます。[//]: # (メモ) がインデントされていたり、文のすぐ下に続いていたりすると、パーサーは通常のテキストとして扱い、そのまま出力します。

コードブロックの中でもコメントアウトできますか?

できません。Markdownはフェンスコードブロックとインラインコードの中では記法を意図的に処理しないため、区切り記号がそのまま表示されます。掲載しているコードにコメントを付けたい場合は、その言語のコメント記法(JavaScriptならスラッシュ2つ、Pythonならシャープ)を使ってください。

Markdownのコメントの中で改行するには?

そのまま改行キーを押すだけです。<!-- と --> の間はレンダラーに無視されるため、コメント内の改行やインデント、空行は出力に影響しません。ソースを読みやすくするためだけのものです。

Markdownのコメントは検索エンジンに読まれますか?

読まれません。MarkdownがHTMLへコンパイルされる時点でコメントは取り除かれるため、配信されるページには含まれず、クローラーもインデックスできません。公開済みのHTMLファイルに直接書いたHTMLコメントは別で、ブラウザまで届いたうえで表示されないだけです。