Markdown(マークダウン) は、プレーンテキストで文書を書くための軽量マークアップ言語です。# や ** などの記号で見出し・太字・リストを表現し、最終的にHTMLに変換して表示します。
なぜMarkdownが使われるか
HTMLを直接書かなくても、シンプルな記号で文書の構造を表現できます。
<!-- HTMLで見出しと段落を書く場合 -->
<h2>Markdownとは</h2>
<p>プレーンテキストで文書を書く記法です。</p>
## Markdownとは
プレーンテキストで文書を書く記法です。
Markdownの方が記述量が少なく、読んでも意味が分かります。これが「人が読んでも書いても分かりやすい」というMarkdownの設計思想です。
主な記法一覧
見出し
# H1 見出し1
## H2 見出し2
### H3 見出し3
# の数が見出しレベルに対応します。
強調
**太字**
*斜体*
~~取り消し線~~
### リスト
- 箇条書き1
- 箇条書き2
- 入れ子(スペース2つでインデント)
1. 番号付きリスト
2. 自動で番号が付く
### リンク
[リンクテキスト](https://example.com)
### 画像

### コードブロック
バッククォート3つで囲みます。言語名を指定するとシンタックスハイライトが効くツールがあります。
````markdown
const hello = "Hello, World!";
console.log(hello);
````
インラインコード
文中にコードを入れる場合はバッククォート1つで囲みます。
`code` のように書きます。
### 引用
> これは引用文です。
> 複数行にわたる引用も書けます。
### テーブル
| 列1 | 列2 | 列3 |
|---|---|---|
| データ1 | データ2 | データ3 |
### 水平線
---
## HTMLとの違い
| 項目 | Markdown | HTML |
|---|---|---|
| 書きやすさ | シンプル | タグが多く冗長になりがち |
| 読みやすさ | テキストのまま読める | タグが混在して読みにくい |
| 表現の柔軟性 | 限定的 | 何でも表現できる |
| 変換 | HTMLに変換して表示 | そのままブラウザで表示 |
| コメント | 実装依存 | <!-- --> で記述可 |
MarkdownはすべてのHTMLの機能を代替できるわけではありません。複雑なレイアウトや特殊なスタイルが必要な場合はHTMLを直接書く方が適しています。多くのMarkdownエディタやCMSはHTML直書きとの混在も許容しています。
Markdownが使われている場所
GitHub / GitLab: READMEファイルやIssue・Pull Requestのコメントに使われます。.md 拡張子のファイルが自動でレンダリングされます。
はてなブログ・Qiita・Zenn: 技術系ブログの記事執筆に標準で採用されています。
Notion: ページ内でMarkdown記法の一部が使えます。**太字** と入力すると自動変換されます。
Slack / Discord: メッセージ内で *斜体* **太字** などの記法が使えます。
ChatGPT / Claude: AIが出力するテキストもMarkdown形式を使っており、チャット画面で自動レンダリングされます。
静的サイトジェネレーター: Jekyll・Hugo・Astroなどの静的サイト生成ツールはMarkdownファイルをHTMLに変換してWebサイトを生成します。
HTMLをMarkdownに変換する場面
既存のHTMLコンテンツをMarkdownで管理したい場合や、WebページのテキストをMarkdown形式で抽出したい場面があります。
たとえばブログをWordPressから静的サイトに移行する際や、参考サイトの内容をドキュメントに貼り付けたい場合などです。HTMLからMarkdownへの変換ツールを使うと、コピーアンドペーストで得られるHTMLタグを含む文字列をきれいなMarkdownに整形できます。