strikethrough.text

Markdown on Windows and Mac

Strikethrough in Markdown ~~two tildes~~

Wrap text in double tildes: ~~like this~~. It’s an extension, not core Markdown, so support varies by app.

GitHub Flavored Markdown~~text~~
Slack · WhatsApp · Notion~text~One tilde, their own syntax
Fallback<del>text</del>Where inline HTML is allowed

Updated · strikethroughtext.online

The syntax

~~This text is struck through.~~

The tildes must touch the text on the inside. ~~ text ~~ with inner spaces won’t render in most parsers. Strikethrough can span several words in a paragraph, but not across a blank line.

Where it comes from

John Gruber’s original Markdown from 2004 had no strikethrough, and neither does the core CommonMark specification. Strikethrough was added by GitHub Flavored Markdown (GFM) as an extension, and it caught on because GitHub did. The GFM spec allows one or two tildes; most other tools copied the two-tilde version.

Support by tool

Tool Syntax
GitHub, GitLab, Bitbucket ~~text~~
Discord, Reddit ~~text~~
Obsidian ~~text~~
Notion ~text~ while typing
Slack, WhatsApp ~text~ (their own markup)
Telegram desktop ~~text~~
Static site generators (Astro, Hugo, Jekyll) ~~text~~ with GFM enabled, usually the default
VS Code Markdown preview ~~text~~
Jira Cloud ~~text~~ in the editor

Other markup that isn’t Markdown

Some places use their own formatting codes. The tildes do nothing there:

Where Syntax
Steam (reviews, guides, profile) [strike]text[/strike]
BBCode forums [s]text[/s], sometimes [strike]text[/strike]
Minecraft: Java Edition §m before the text (or &m on servers with chat colour plugins)
HTML email and web pages <s>text</s> or <del>text</del>

Where none of these work, the Unicode version from the tool above will still show a line, because it’s part of the characters rather than formatting.

When it doesn’t work

Strict parsers. Some tools use CommonMark without extensions. Inline HTML is the fallback: <del>removed</del> or <s>outdated</s>. Most Markdown renderers pass inline HTML through, unless they sanitize it.

Literal tildes. To show tildes without striking, escape the first one: \~~not struck~~. In code spans and code blocks, tildes are always literal.

Plain-text destinations. If the Markdown is going to be read as raw text, for example in a commit message or a terminal, the tildes stay visible. The Unicode version in the tool above shows a line even in plain text, but avoid it in source files: it breaks search and diffs.

Good practice in docs

In changelogs and READMEs, strikethrough is useful for deprecated options and scrapped roadmap items. Pair it with words: “--legacy removed in v3, use --compat”. The line shows the change at a glance, and the words explain it for screen readers and for anyone reading the raw file.

Copy-paste version

For the places where Markdown formatting won't follow your text, like file names, chat apps or a social bio.

17 characters, 2 words
Ctrl + Enter copies the first result

Runs in your browser. Nothing you type is uploaded.

  • strikethroughd̶e̶p̶r̶e̶c̶a̶t̶e̶d̶ ̶o̶p̶t̶i̶o̶n̶
  • short striked̵e̵p̵r̵e̵c̵a̵t̵e̵d̵ ̵o̵p̵t̵i̵o̵n̵
  • wavy striked̴e̴p̴r̴e̴c̴a̴t̴e̴d̴ ̴o̴p̴t̴i̴o̴n̴
  • slashd̷e̷p̷r̷e̷c̷a̷t̷e̷d̷ ̷o̷p̷t̷i̷o̷n̷
  • long slashd̸e̸p̸r̸e̸c̸a̸t̸e̸d̸ ̸o̸p̸t̸i̸o̸n̸
  • double slashd̸̷e̸̷p̸̷r̸̷e̸̷c̸̷a̸̷t̸̷e̸̷d̸̷ ̸̷o̸̷p̸̷t̸̷i̸̷o̸̷n̸̷
  • strike + underlined̶̲e̶̲p̶̲r̶̲e̶̲c̶̲a̶̲t̶̲e̶̲d̶̲ ̶̲o̶̲p̶̲t̶̲i̶̲o̶̲n̶̲
  • strike + overlined̶̅e̶̅p̶̅r̶̅e̶̅c̶̅a̶̅t̶̅e̶̅d̶̅ ̶̅o̶̅p̶̅t̶̅i̶̅o̶̅n̶̅
  • underlined̲e̲p̲r̲e̲c̲a̲t̲e̲d̲ ̲o̲p̲t̲i̲o̲n̲
  • double underlined̳e̳p̳r̳e̳c̳a̳t̳e̳d̳ ̳o̳p̳t̳i̳o̳n̳
  • overlined̅e̅p̅r̅e̅c̅a̅t̅e̅d̅ ̅o̅p̅t̅i̅o̅n̅
  • dottedd̤e̤p̤r̤e̤c̤a̤t̤e̤d̤ ̤o̤p̤t̤i̤o̤n̤
  • waved̰ḛp̰r̰ḛc̰a̰t̰ḛd̰ ̰o̰p̰t̰ḭo̰n̰
  • x belowd͓e͓p͓r͓e͓c͓a͓t͓e͓d͓ ͓o͓p͓t͓i͓o͓n͓
  • redacted█████████████████
  • double tilde~~deprecated option~~
  • HTML<s>deprecated option</s>

Questions people ask

How do you strikethrough in Markdown?

Wrap the text in two tildes on each side: ~~like this~~. This is part of GitHub Flavored Markdown and is supported by GitHub, GitLab, Discord, Reddit, Obsidian and most modern Markdown tools.

Why is my Markdown strikethrough not rendering?

Strikethrough is not part of the original Markdown or core CommonMark. If your tool uses a strict CommonMark parser without extensions, ~~text~~ stays as typed. Use inline HTML, <del>text</del>, if the tool allows it.

Is it one tilde or two?

Two is the safe choice. GitHub Flavored Markdown accepts one or two, but many other tools only accept two. Slack, WhatsApp and Notion are the exceptions: their own syntax uses one.

Keep going