Markdown Strikethrough: How to Cross Out Text
How to use strikethrough in markdown with double tildes. Covers syntax, use cases, platform differences, and combining with other formatting.
Last updated: February 27, 2026
Strikethrough draws a line through text to indicate deletion or correction. The syntax is double tildes: ~~text~~. This is a GitHub Flavored Markdown (GFM) extension, not part of the original markdown specification, but nearly every modern parser supports it.
Basic Syntax
~~This text is crossed out~~Renders as: This text is crossed out
The tildes must be directly adjacent to the text. Spaces between the tildes and the text break the formatting on some parsers:
<!-- Works -->~~crossed out~~
<!-- May not work -->~~ crossed out ~~Double Tildes, Not Single
Strikethrough requires two tildes on each side. A single tilde does not trigger strikethrough in GFM:
<!-- Not strikethrough -->~single tilde~
<!-- Strikethrough -->~~double tilde~~Some parsers (Pandoc, for example) support single-tilde strikethrough with specific extensions enabled, but double tildes are the universal standard.
Combining with Other Formatting
Strikethrough works alongside bold, italic, and code:
~~**bold and struck through**~~~~*italic and struck through*~~**~~bold and struck through~~***~~italic and struck through~~*All four examples produce the same visual result on most platforms: text that is both formatted and crossed out.
Strikethrough does not combine with inline code. The backticks take precedence:
~~`code`~~ → shows as struck-through code on some parsers, but inconsistentFor crossing out code, use HTML: <del><code>old code</code></del>.
When to Use Strikethrough
Changelogs and release notes to show removed features or replaced behavior:
- ~~Legacy API endpoint~~ Replaced by v2 API- ~~Node.js 16 support~~ Dropped in v3.0Corrections in collaborative documents:
The meeting is on ~~Tuesday~~ Wednesday at 3 PM.To-do lists with completed items (alternative to task list checkboxes):
- ~~Set up database~~- ~~Write API endpoints~~- Write tests- DeployPricing pages showing discounted prices:
~~$10/month~~ $7/month (annual billing)Humorous or editorial effect:
This feature is ~~definitely not~~ going to ship on time.Strikethrough in HTML
Markdown strikethrough converts to the <del> HTML element:
<del>deleted text</del>The <del> element has semantic meaning: it indicates content that has been removed from the document. Screen readers may announce it as “deleted”. This is distinct from <s> (no longer accurate) or CSS text-decoration: line-through (visual only).
If you need more control, use HTML directly:
<del>Old text</del> <ins>New text</ins>The <ins> tag marks inserted content and is the semantic counterpart to <del>.
Platform Differences
| Feature | GitHub | VS Code | Obsidian | MDtoLink | CommonMark | Discord | Slack |
|---|---|---|---|---|---|---|---|
~~text~~ | Yes | Yes | Yes | Yes | GFM extension | Yes | No |
~text~ (single) | No | No | No | No | No | No | Yes |
<del>text</del> | Yes | Yes | No | Yes | Parser-dependent | No | No |
| Combined with bold | Yes | Yes | Yes | Yes | Yes | Yes | N/A |
Key differences:
- Slack uses single
~for strikethrough, not double~~ - Discord uses double
~~like standard GFM - CommonMark does not include strikethrough; it is a GFM extension
- Obsidian strips
<del>HTML tags but supports~~
Common Mistakes
Using single tildes. In GFM, ~text~ is not strikethrough. Use ~~text~~.
Tildes around whitespace. If your text starts or ends with a space inside the tildes, some parsers skip the formatting.
Confusing Slack and markdown. If you write for Slack, use single ~. If you write for GitHub, Discord, or most other platforms, use double ~~.
Copy-Paste Templates
~~deleted text~~~~**bold deleted text**~~~~$old price~~ $new price~~Old approach~~ New approachFAQ
How do I strikethrough text in markdown?
Wrap the text in double tildes: ~~text~~. This is a GFM extension supported by GitHub, VS Code, Obsidian, Discord, and most modern markdown processors.
Does strikethrough work in standard markdown?
No. Strikethrough is a GitHub Flavored Markdown (GFM) extension. However, nearly every modern markdown tool supports it. If your parser does not, you can use the HTML <del> tag.
What is the difference between single and double tildes?
In GFM and most markdown processors, only double tildes (~~) trigger strikethrough. Single tildes have no formatting effect. Slack is the exception: it uses single ~ for strikethrough.
Try It Out
Test strikethrough formatting in the MDtoLink editor with live preview. Publish your document to a shareable URL when it’s ready.
For the full syntax, see the markdown cheat sheet. For other text formatting options, see the bold and italic guide.
Founder, MDtoLink
David builds developer tools and writes about markdown workflows, documentation, and AI-assisted publishing.
Publish your markdown to a shareable URL
One command. Free to start. No credit card.