100% private — everything runs in your browser
Strikethrough Markdown
Wrap text in double tildes and strikethrough markdown renders a line through it. Edit the demo, watch the strike appear live, copy the syntax.
MD Viewer Team
This sentence shows removed text next to normal text.
Strikethrough markdown is how you show text that has been crossed out but not deleted: a changed price, a completed task, an outdated claim you want to keep visible for context. The syntax is two tildes around the text — ~~like this~~ — and the playground above renders it live. Edit the words between the tildes and the strikethrough markdown preview updates on every keystroke, so you can see exactly where the strike begins and ends.
One fact matters more than any other on this page: strikethrough markdown is not classic Markdown. It comes from GitHub Flavored Markdown (GFM), the widely adopted extension set that also added tables and task lists. GitHub, GitLab, Bitbucket, most modern documentation platforms, and this site's engine all render it — but a strict CommonMark processor will print your two tildes literally. The strikethrough markdown you write here works everywhere GFM does.
The convention carries meaning: struck text reads as replaced. Changelogs strike the old version number and write the new one beside it; meeting notes strike resolved items; price lists strike the original amount. The task-list example chip above shows the pairing that made strikethrough markdown famous — checkboxes for state, strikes for history.
Strikethrough markdown syntax reference
| You type | You get |
|---|---|
| ~~text~~ | Struck-through text with a horizontal line |
| ~~old~~ new | Old value struck, new value beside it |
| **~~both~~** | Bold and strike combined |
| ~~multi word phrase~~ | The strike covers every word inside |
| ~single tilde~ | Not struck — GFM needs exactly two tildes |
How to write strikethrough markdown
- 1
Find the text to strike
Strikethrough markdown works on a word, a phrase, or a whole line. Everything between the markers gets the line through it, so choose boundaries that match your meaning.
- 2
Wrap it in double tildes
Type ~~ immediately before and immediately after the text, no spaces between tildes and words. The strikethrough markdown preview above confirms the moment it parses.
- 3
Combine carefully
Strikes compose with other emphasis: **~~struck bold~~** renders both. Order rarely matters; a mismatched marker pair will, so check the preview if half your line is struck.
- 4
Copy the syntax
Copy Markdown in the playground gives you the exact strikethrough markdown source, tildes included, ready for a README, issue, or message.
Why strikethrough markdown lives in GFM, not CommonMark
Original Markdown had no way to strike text, because its author considered deletion a presentational idea belonging to HTML's <del> tag. The community disagreed: GitHub shipped ~~text~~ in 2014 as part of GFM, and its ubiquity — issues, pull requests, wikis, READMEs — made strikethrough markdown a de facto standard. Today the syntax is specified in the GFM extension to CommonMark and supported by nearly every renderer that also supports tables.
The compatibility flip side is real. In a strict CommonMark environment, ~~draft~~ renders as literal characters — harmless but ugly. If a document must survive such renderers, the alternatives are the HTML <del> tag (semantic deletion, allowed where HTML is permitted — see the markdown underline page for how HTML whitelists behave) or simply deleting the text. On this site every tool renders GFM, so the strikethrough markdown you test here matches GitHub behavior.
Strikethrough markdown mistakes
~one tilde~
~~two tildes~~
A single tilde on each side does not create strikethrough markdown — the text renders with the tildes visible. GFM requires the pair.
~~ spaced ~~
~~tight~~
Spaces just inside the tildes weaken or break the parse in some renderers. Keep strikethrough markdown markers tight against the text.
~~unclosed strike
~~closed~~
An unpaired opening marker strikes nothing — the tildes print literally. Both markers, always; the preview above shows the difference instantly.
Struck text is still text
Screen readers may announce strikethrough markdown as deleted, but search engines index the words and copy-paste keeps them. Never hide secrets behind a strike — delete text you truly want gone.
Where strikethrough markdown earns its keep
Changelogs are the flagship use case for strikethrough markdown. A line like ~~Fixed login crash on Safari~~ replaced by Crash resolved in 2.3.1 keeps the history visible while marking it closed, and the struck text doubles as a search target for anyone investigating a regression. Meeting minutes work the same way: strike items as they are resolved so the list shrinks visually without losing the record of what was proposed.
Pricing and availability pages use strikethrough markdown for honest urgency — ~~$49~~ $39 reads instantly and survives plain-text rendering far better than an image badge. Editors and writers lean on it during review: strike the rejected phrasing directly in the shared document so the author sees the suggestion in context, then accept or restore. In every case the value is the same: strikethrough markdown shows both the old state and the new state in one line, where deletion shows only the survivor.
The same honesty cuts the other way. Because struck text remains in the file and in search indexes, a page full of struck-out claims still communicates them weakly. Prune stale strikethrough markdown during periodic content reviews — keep the strike while it explains a change, delete it when it no longer does.
Frequently asked questions
Sources and spec citations
“Strikethrough spans are delimited by a double tilde (~~).”
“GitHub Flavored Markdown, often shortened as GFM, is a strict superset of CommonMark.”