Markdown 打ち消し線ジェネレーター

文字を入力して記法を選ぶだけで、どこでも正しく表示される打ち消し線をコピーできます。処理はすべてブラウザ内で完結します。

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

Markdownで文字に打ち消し線を引くには?

文字の前後をチルダ2つで囲みます:`~~文字~~`。横線の入った<del>要素になります。打ち消し線はCommonMarkではなくGitHub Flavored Markdownの拡張なので、GitHubやDiscordでは使えますが、厳密なCommonMarkパーサーでは `<del>文字</del>` を使います。

markdown
~~この文字には打ち消し線が入ります~~

横線の入った文字として表示され、生成されるHTMLでは<del>要素になります。

Markdown 打ち消し線ジェネレーターを使う

設定

打ち消し線の記法

出力

Markdownの打ち消し線記法

打ち消し線は「消したことがわかる形で残す」ための記法で、修正や廃止された仕様、完了したタスク、旧価格の表示に向いています。書き方は3種類あり、どれが安全かは好みではなくパーサー次第です。

チルダ2つ(推奨)

GitHub Flavored Markdownの標準的な書き方です。README、Issue、プルリクエスト、Discordのメッセージ、Obsidianのノートなど、GFM互換のパーサーで表示されるものはこれで問題ありません。

markdown
リリースは ~~月曜15時~~ 火曜14時です。

「月曜15時」の部分にだけ横線が入って表示されます。

チルダ1つ

GFMの打ち消し線拡張はチルダ1つでも2つでも受け付けるため、GitHubでは ~文字~ も表示されます。ただし他の多くのパーサーは対応しておらず、Slackの入力欄は逆にチルダ1つしか認識しません。移植性のある書き方ではなく、サービス固有の書き方だと考えてください。

markdown
~v2で非推奨~

GitHub、GitLab、Slackでは横線が入ります。DiscordやCommonMarkのみのパーサーでは、チルダごとそのまま表示されます。

HTMLタグでの代替

打ち消し線はオリジナルのMarkdown仕様にもCommonMarkにも含まれていません。パーサーがチルダを解釈しない場合は素のHTMLに切り替えます。インラインHTMLを許可しているMarkdown方言であれば、どれでも解釈されます。

markdown
<del>2.0のリライトで削除されました</del>
<s>見た目を消すだけで、削除の意味はありません</s>

どちらも文字に横線が入ります。<del>は内容が削除されたことを、<s>は内容がもう正確ではないことを表します。

太字・斜体・リンクと組み合わせる

打ち消し線は他のインライン記法と入れ子にでき、順序を変えても結果は同じです。リンクのラベル全体に線を引きたいときも、この書き方を使います。

markdown
~~**重大なバグ**~~ は1.4で修正済みです
~~[旧バージョンの移行ガイド](https://example.com/v1)~~

1行目は太字の文字に横線が入り、2行目はクリックできるリンクのラベル全体に線が入ります。

タスクリストと表

インライン記法が使える場所であれば、チェックリストの項目や表のセルの中でも打ち消し線が効きます。変更履歴やリリース前のチェックリストでよく使われるパターンです。

markdown
- [x] ~~初稿を書く~~
- [ ] 初稿をレビューする

| プラン | 料金 |
| --- | --- |
| Pro | ~~9,900円~~ 7,900円 |

完了したタスクと旧料金に横線が入り、残りの行はそのまま表示されます。

チルダをそのまま表示する

チルダを記号として見せたいときは、バックスラッシュでエスケープするかバッククォートで囲んでインラインコードにします。なお ~/projects のようなホームディレクトリのパスはチルダが1つで閉じていないため、それだけで打ち消し線になることはありません。

markdown
\~\~打ち消し線になりません\~\~
`~~コードとして表示~~`

どちらの行もチルダがそのまま表示され、文字に線は入りません。

各サービスでの対応状況

打ち消し線は拡張記法のため対応は広いものの完全ではなく、特にチルダ1つの扱いはサービスによって本当に異なります。公開前に投稿先を確認してください。

プラットフォーム対応状況備考
GitHub / GitLab対応README、Issue、PR、コメント、Wikiで ~~文字~~ が使えます。チルダ1つでも表示されます。
Discord対応チルダ2つが必須です。チルダ1つはそのまま表示され、HTMLタグは解釈されません。
Slack一部Slackの入力欄では ~チルダ1つ~ が打ち消し線で、チルダ2つは標準の記法ではありません。
Obsidian対応編集ビューでも読み取りビューでも ~~文字~~ が表示され、インラインHTMLの<del>も使えます。
Notion対応~~文字~~ と入力すると、その場で自動的に打ち消し線に変換されます。
Qiita / Zenn対応どちらもGFM準拠のため、チルダ2つがそのまま使えます。
はてなブログ対応Markdownモードならチルダ2つが使えます。見たままモードでは記法として解釈されません。
VS Codeのプレビュー対応組み込みのMarkdownプレビューはGFMに従うため、チルダ2つがそのまま表示されます。
CommonMark / 旧来のMarkdown非対応チルダの記法を一切解釈しません。<del>を使うか、GFMの打ち消し線プラグインを有効にしてください。

Markdownで打ち消し線を引く手順

  1. テキストを入力する

    線を引きたい文字を上の入力欄に入力するか貼り付けます。

  2. 記法を選ぶ

    GitHubなど多くのサービス向けならチルダ2つ、Slack向けならチルダ1つ、GFM拡張に対応していないパーサー向けならHTMLタグを選びます。

  3. 出力をコピーする

    Markdownタブのコピーボタンで取得します。テンプレートやメールで<del>タグが必要な場合はHTMLタブに切り替えてください。

  4. プレビューで確認する

    公開前にプレビュータブで、意図した範囲にだけ線が入っているか確認します。

よくある質問

Markdownの ~~ はどういう意味ですか?

文字の前後にチルダを2つ置くと打ち消し線になります。文字は読めるまま、横線が引かれた状態で表示されます。HTMLでは<del>要素になり、その内容が削除された、あるいは置き換えられたことを表します。ページから単に消してしまうのとは意味が異なります。

打ち消し線はMarkdownの標準記法ですか?

違います。2004年のオリジナルのMarkdown仕様にもCommonMarkにも打ち消し線の定義はありません。GitHub Flavored Markdownが追加した拡張が広く普及したもので、そのためGitHub、GitLab、Discordでは使える一方、既定のpython-markdownのような厳密なCommonMarkパーサーでは何も起きずそのまま表示されます。

GitHubで打ち消し線を引くには?

文字をチルダ2つで囲みます。たとえば ~~古い手順~~ のように書きます。README、Issue、プルリクエスト、コメント、リリースノート、WikiのいずれでもGFMの打ち消し線拡張が有効です。チルダ1つでも表示されますが、慣例はチルダ2つで、移植性もこちらのほうが高くなります。

チルダ1つと2つでは何が違いますか?

GFM拡張はチルダ1つでも2つでも打ち消し線として扱うため、GitHub上では同じ結果になります。違いが出るのはそれ以外の場所で、Slackはチルダ1つ、Discordはチルダ2つしか認識せず、多くのパーサーもチルダ2つのみです。Slack専用でない限りチルダ2つを使ってください。

markdown 打ち消し線が効かないのはなぜですか?

よくある原因は4つあります。チルダと文字の間に空白がある、チルダが対になっていない、パーサーでGFM拡張が有効になっていない、コードブロックやインラインコードの中にある、のいずれかです。また行頭にチルダが3つ以上並ぶと、コードフェンスとして解釈されます。

DiscordとSlackで打ち消し線を引くには?

Discordはチルダ2つで ~~文字~~ と書きます。Slackは主要なチャットツールの中では例外で、チルダ1つの ~文字~ を使います。どちらもHTMLを解釈しないため、<del>タグはそのまま文字として表示されます。同じ文面を両方にコピーして使い回すことが、チャットで打ち消し線が崩れる一番の原因です。

打ち消し線を太字や斜体、リンクと組み合わせられますか?

できます。打ち消し線は他のインライン記法と自由に入れ子にでき、順序も結果に影響しないため、~~**文字**~~ と **~~文字~~** は同じ結果になります。~~[ラベル](https://example.com)~~ のようにリンク全体をチルダで囲むと、リンクは機能したままラベルにだけ線が入ります。

複数行や段落全体に打ち消し線を引けますか?

チルダの記法はインライン専用で、空行があるとそこで途切れるため、段落ごとにチルダの対が必要です。ブロック全体をまとめて消したい場合はHTMLを使い、段落を<del>タグの開始と終了で囲みます。インラインHTMLを許可しているMarkdown方言であれば、そのまま解釈されます。

チルダを記号としてそのまま表示するには?

各チルダの前にバックスラッシュを付けてエスケープするか、バッククォートで囲んでインラインコードにすると書式が無効になります。~/projects のようなパスに含まれる単独のチルダは、同じ行に対になる相手がないため打ち消し線にはなりません。

HTMLの<del>と<s>の違いは何ですか?

<del>は文書から実際に削除された内容を表し、citeやdatetime属性を持てるため、変更履歴や改訂の記録に向いています。<s>は内容がもう正確ではない、あるいは関係がなくなったことだけを表し、期限切れの価格などに使います。Markdownのチルダ記法は通常<del>になります。