Markdown 打ち消し線ジェネレーター
文字を入力して記法を選ぶだけで、どこでも正しく表示される打ち消し線をコピーできます。処理はすべてブラウザ内で完結します。
Markdownで文字に打ち消し線を引くには?
文字の前後をチルダ2つで囲みます:`~~文字~~`。横線の入った<del>要素になります。打ち消し線はCommonMarkではなくGitHub Flavored Markdownの拡張なので、GitHubやDiscordでは使えますが、厳密なCommonMarkパーサーでは `<del>文字</del>` を使います。
~~この文字には打ち消し線が入ります~~横線の入った文字として表示され、生成されるHTMLでは<del>要素になります。
Markdown 打ち消し線ジェネレーターを使う
設定
出力
Markdownの打ち消し線記法
打ち消し線は「消したことがわかる形で残す」ための記法で、修正や廃止された仕様、完了したタスク、旧価格の表示に向いています。書き方は3種類あり、どれが安全かは好みではなくパーサー次第です。
チルダ2つ(推奨)
GitHub Flavored Markdownの標準的な書き方です。README、Issue、プルリクエスト、Discordのメッセージ、Obsidianのノートなど、GFM互換のパーサーで表示されるものはこれで問題ありません。
リリースは ~~月曜15時~~ 火曜14時です。「月曜15時」の部分にだけ横線が入って表示されます。
チルダ1つ
GFMの打ち消し線拡張はチルダ1つでも2つでも受け付けるため、GitHubでは ~文字~ も表示されます。ただし他の多くのパーサーは対応しておらず、Slackの入力欄は逆にチルダ1つしか認識しません。移植性のある書き方ではなく、サービス固有の書き方だと考えてください。
~v2で非推奨~GitHub、GitLab、Slackでは横線が入ります。DiscordやCommonMarkのみのパーサーでは、チルダごとそのまま表示されます。
HTMLタグでの代替
打ち消し線はオリジナルのMarkdown仕様にもCommonMarkにも含まれていません。パーサーがチルダを解釈しない場合は素のHTMLに切り替えます。インラインHTMLを許可しているMarkdown方言であれば、どれでも解釈されます。
<del>2.0のリライトで削除されました</del>
<s>見た目を消すだけで、削除の意味はありません</s>どちらも文字に横線が入ります。<del>は内容が削除されたことを、<s>は内容がもう正確ではないことを表します。
太字・斜体・リンクと組み合わせる
打ち消し線は他のインライン記法と入れ子にでき、順序を変えても結果は同じです。リンクのラベル全体に線を引きたいときも、この書き方を使います。
~~**重大なバグ**~~ は1.4で修正済みです
~~[旧バージョンの移行ガイド](https://example.com/v1)~~1行目は太字の文字に横線が入り、2行目はクリックできるリンクのラベル全体に線が入ります。
タスクリストと表
インライン記法が使える場所であれば、チェックリストの項目や表のセルの中でも打ち消し線が効きます。変更履歴やリリース前のチェックリストでよく使われるパターンです。
- [x] ~~初稿を書く~~
- [ ] 初稿をレビューする
| プラン | 料金 |
| --- | --- |
| Pro | ~~9,900円~~ 7,900円 |完了したタスクと旧料金に横線が入り、残りの行はそのまま表示されます。
チルダをそのまま表示する
チルダを記号として見せたいときは、バックスラッシュでエスケープするかバッククォートで囲んでインラインコードにします。なお ~/projects のようなホームディレクトリのパスはチルダが1つで閉じていないため、それだけで打ち消し線になることはありません。
\~\~打ち消し線になりません\~\~
`~~コードとして表示~~`どちらの行もチルダがそのまま表示され、文字に線は入りません。
各サービスでの対応状況
打ち消し線は拡張記法のため対応は広いものの完全ではなく、特にチルダ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で打ち消し線を引く手順
テキストを入力する
線を引きたい文字を上の入力欄に入力するか貼り付けます。
記法を選ぶ
GitHubなど多くのサービス向けならチルダ2つ、Slack向けならチルダ1つ、GFM拡張に対応していないパーサー向けならHTMLタグを選びます。
出力をコピーする
Markdownタブのコピーボタンで取得します。テンプレートやメールで<del>タグが必要な場合はHTMLタブに切り替えてください。
プレビューで確認する
公開前にプレビュータブで、意図した範囲にだけ線が入っているか確認します。
よくある質問
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>になります。