Markdown Strikethrough Syntax
The complete guide to crossing out text in Markdown. Covers the core ~~text~~ syntax, Discord, Reddit, GitHub, Slack quirks, HTML fallbacks, and the common mistakes that break it.
Basic Syntax
Wrap the text in two tildes on each side. The tildes must touch the first and last character — no spaces between the tilde and the word.
~~This text is crossed out.~~This text is crossed out.
Inline Strikethrough
The syntax works the same when you cross out a word inside a sentence. Tildes directly touch the characters they wrap.
You can ~~strike through~~ a single word mid-sentence. You can strike through a single word mid-sentence.
Platform Variations
Most platforms use ~~text~~. The two big exceptions are Slack (single tilde) and old Reddit (no support). Always match the syntax to the platform's stored format, not just the composer shortcut.
~~strikethrough~~Two tildes on each side — same as GitHub Flavored Markdown.
~strikethrough~One tilde on each side. Double tildes (~~text~~) render as literal tildes in mrkdwn.
~~text~~ is not supported. Old Reddit renders the tildes literally. New Reddit and the official apps support it.HTML Fallback
If a renderer does not support GFM strikethrough, use inline HTML. Choose <s> for visual styling or <del> when the text is being marked as deleted.
<s>This is stylistically crossed out.</s>This is stylistically crossed out.
Use when the cross-out is purely presentational and carries no semantic meaning.
<del>This was removed.</del>This was removed.
Use when the text is being marked as deleted from a document, changelog, or diff.
Reddit, Slack, and Discord strip or ignore inline HTML, so these fallbacks only help in document-based renderers like GitHub, GitLab, Obsidian, VS Code, and static-site generators.
Common Mistakes
The most frequent ways strikethrough fails. Each row shows the broken version and the corrected one side by side.
Broken
--strikethrough--Fixed
~~strikethrough~~Broken
~ strikethrough ~Fixed
~strikethrough~Broken
~~strikethroughFixed
~~strikethrough~~Broken
~strikethrough~ in SlackFixed
~~strikethrough~~ in Slack composerQuick Reference
| Syntax | Works in | Notes |
|---|---|---|
| ~~text~~ | GitHub, Discord, Reddit (new), Notion, Obsidian, VS Code | Most common syntax |
| ~text~ | GitHub, Slack | GFM allows one; Slack mrkdwn requires one |
| <s>text</s> | HTML-enabled renderers | Stylistic strikethrough |
| <del>text</del> | HTML-enabled renderers | Semantic deleted text |
| --text-- | Nowhere | Hyphens do not create strikethrough |
Platform Support
Strikethrough is widely supported but not universal. The table below tells you which syntax to use where.
| Platform | Supported? | Notes |
|---|---|---|
| GitHub | Yes | GFM allows one or two tildes: ~~text~~ or ~text~. |
| GitLab | Yes | Same as GitHub Flavored Markdown — two tildes. |
| Reddit (new) | Yes | ~~text~~ works in new Reddit and the official apps. |
| Reddit (old) | No | ~~text~~ renders as literal tildes on old.reddit.com. |
| Discord | Yes | ~~text~~ — part of Discord's Markdown subset. |
| Slack | Yes | ~text~ in mrkdwn. Composer converts ~~ shortcuts on send. |
| Notion | Yes | Pasting ~~text~~ converts to a strikethrough formatted span. |
| Obsidian | Yes | Renders two-tilde strikethrough in Live Preview and Reading view. |
| VS Code preview | Yes | Built-in preview supports GFM strikethrough. |
| CommonMark / Standard Markdown | No | Strikethrough is not in the CommonMark spec. Use HTML <s> or <del>. |
| Docusaurus / VitePress / Astro | Yes | GFM plugin applies two-tilde strikethrough. |
Frequently Asked Questions
How do I strikethrough text in Markdown?
Use two tildes on each side of the text: ~~strikethrough~~. This is the GitHub Flavored Markdown syntax and works in Discord, Reddit (new), GitHub, GitLab, Notion, Obsidian, VS Code, and most static-site generators.
Is strikethrough part of standard Markdown?
No. Strikethrough is not in the original Markdown spec or CommonMark. It was introduced as a GFM extension and has been adopted by most platforms. If you need strikethrough in a strict CommonMark environment, use HTML: <s>text</s> or <del>text</del>.
Why does my Slack strikethrough show literal tildes?
Slack's mrkdwn uses a single tilde for strikethrough: ~text~. If you send ~~text~~ through the Slack API or in a Block Kit text field, it renders as literal tildes. Slack's composer will convert the ~~ shortcut on send, but the underlying stored format uses one tilde.
Why doesn't my strikethrough work on old Reddit?
old.reddit.com uses snudown, which does not support strikethrough. The ~~text~~ syntax renders as literal tildes. New Reddit, the official apps, and third-party apps that use the new renderer support it. For old Reddit, there is no reliable strikethrough workaround.
Does GitHub require one or two tildes?
GitHub Flavored Markdown accepts one or two tildes: ~text~ and ~~text~~ both render as strikethrough. Most authors use two tildes because that is the widely recognized syntax and it avoids conflicts with Slack's single-tilde meaning.
Can I use HTML to strikethrough in Markdown?
Yes. The <s> tag gives presentational strikethrough and the <del> tag marks deleted text semantically. Both work in renderers that allow inline HTML, including GitHub, GitLab, Obsidian, VS Code, and most static-site generators. Reddit strips all HTML, so this workaround does not work there.
What is the difference between <s> and <del>?
Visually, both render as strikethrough. Semantically, <del> means the text has been removed from a document (use it in diffs and changelogs). <s> means the text is no longer accurate or relevant but was not part of the document's edit history. For purely visual styling, use <s>.
Why can't I use strikethrough inside a code block?
Code blocks disable all Markdown formatting, including strikethrough. Inside backticks or fenced blocks, tildes are treated as literal characters. If you need to show mixed syntax, close the code block first or use HTML outside the code block.
Related Markdown Guides
Strikethrough is one of several text-formatting extensions. For the full syntax surface area: