Skip to content
Back to Journal
GuideMay 1, 2026·4 min read

How to Strikethrough Text in Markdown

Add strikethrough formatting in markdown with double tildes. Syntax, platform support, and use cases.

The quick answer: Wrap text with double tildes — ~~strikethrough~~ — to add a horizontal line through the text. This is the standard syntax supported by GitHub, Discord, Notion, and most modern markdown platforms.

Basic Syntax

~~this text has a line through it~~

The double tildes on both sides of the text produce a strikethrough effect: a horizontal line drawn through the center of the words.

You can strikethrough a single word, a phrase, or an entire sentence:

  • ~~single word~~
  • ~~an entire phrase~~
  • ~~A complete sentence that has been removed from the document.~~

Combining Strikethrough with Other Formatting

Strikethrough can be layered with bold and italic:

  • ~~bold strikethrough~~ — bold and struck out
  • ~~italic strikethrough~~ — italic and struck out
  • ~~bold strikethrough alternative~~ — same result, outer bold
This is useful when showing a correction with emphasis: ~~wrong price: $199~~ correct price: $99.

Platform-by-Platform Breakdown

GitHub and GitLab

Full support for ~~double tildes~~. This is part of the GitHub Flavored Markdown (GFM) specification. Strikethrough renders in issues, pull requests, READMEs, and comments.

Obsidian

Obsidian supports ~~strikethrough~~. Note that Obsidian also uses ~single tilde~ for subscript — so don't mix them up. For strikethrough, always use double.

Notion

Notion supports strikethrough in its markdown import mode. In the Notion editor, you can also apply strikethrough via the text formatting menu. Exported Notion markdown uses ~~double tildes~~.

Discord

Discord fully supports ~~strikethrough~~. This is one of the most-used text formatting options in Discord, especially in casual conversation for humor and corrections.

Slack

Slack uses its own mrkdwn format. For strikethrough in Slack, you also use ~single tilde~ — not double tildes. This is the one place where single tilde means strikethrough (not subscript). Quick reference:

  • Standard markdown (GitHub, Obsidian, Discord): ~~double tildes~~
  • Slack: ~single tilde~

Plain CommonMark

The original CommonMark specification does not include strikethrough. If you're using a minimal markdown renderer that only supports CommonMark, ~~text~~ will render as literal tilde characters instead of a strikethrough.

Common Mistakes

Single Instead of Double Tildes

~text~ — wrong for strikethrough (this is subscript in Obsidian/Pandoc, or does nothing in CommonMark) ~~text~~ — correct strikethrough

Spaces Inside the Tildes

~~ text ~~ — some parsers will not render strikethrough if there are spaces between the tildes and the text. Keep the tildes flush against the text.

Using in Plain CommonMark Contexts

If you're writing markdown that will be processed by a plain CommonMark renderer (some static site generators, older tools), strikethrough won't work. You'll need to use the HTML tag instead: text.

HTML Alternative: The del Tag

For environments that don't support ~~tildes~~, use the HTML element: deleted content

The tag is semantically correct for deleted text — it's what screen readers will announce as deleted content. The visual rendering is the same horizontal strikethrough line.

For edits showing both what was removed and what was added, pair with : Price: $199 $99

Real-World Use Cases

Showing Corrections in Technical Docs

Strikethrough is perfect for changelog entries and errata: "~~The API returns a 200 status on failure.~~ The API returns a 422 status on validation failure." This preserves the old (incorrect) text so readers understand what changed.

Completed Items in Task Lists

While you can use - [x] for checked checkboxes, some people prefer strikethrough for visual crossed-off tasks in prose notes:

"Today's plan: ~~Write the spec~~ ~~Review PRs~~ Deploy to staging"

Price Comparisons in Marketing Content

Strikethrough is the standard way to show original vs discounted prices: "~~$199/month~~ $99/month — launch pricing". This is used everywhere from sales pages to product release notes.

AI-Generated Changelogs

When asking an AI to generate a changelog or revision history, it often uses strikethrough to indicate removed features or deprecated behavior. MarkdownTools renders strikethrough correctly in all three export themes.

Strikethrough vs Other "Deletion" Elements

| Method | Use when | | --- | --- | | ~~tildes~~ | Quick strikethrough in GFM environments | | text | Maximum compatibility, semantic correctness | | - [x] task | Task list checkboxes (separate from strikethrough) | | Remove entirely | When you don't want to preserve the old content at all |


Full details at the Markdown Strikethrough reference.

Ready to put this into practice? Paste your markdown into the free MarkdownTools PDF exporter or HTML converter — no signup required.

Frequently Asked Questions

How do you add strikethrough in markdown?

Wrap text in double tildes: ~~strikethrough text~~. This renders with a horizontal line through the words.

Does strikethrough work in GitHub markdown?

Yes. Strikethrough with ~~double tildes~~ is part of GitHub Flavored Markdown (GFM) and renders correctly on GitHub, GitLab, and most modern markdown editors.

What is the difference between ~ and ~~ in markdown?

Single tilde ~text~ is subscript syntax in some parsers (like Obsidian and Pandoc). Double tilde ~~text~~ is strikethrough. Always use double tildes for strikethrough to avoid ambiguity.

Why is my strikethrough not working in markdown?

Strikethrough is a GFM extension, not standard CommonMark. If your parser does not support GFM, ~~text~~ will render as literal tildes. Also check you are using double tildes, not single.

MT

MarkdownTools Team

May 1, 2026

Try it free

Make your AI output beautiful

Paste markdown from ChatGPT or Claude. Pick a theme. Export as PDF or HTML in seconds.

Open App — It's Free