The problem: you want crossed-out text on a platform that doesn't do markdown
You typed ~~sold out~~ into a tweet and it posted literally — tildes and all — because Twitter doesn't render markdown. So you need strikethrough that's actual text, not syntax a platform has to interpret. The fix is Unicode combining characters, and the catch is that "strikethrough" means two completely different things depending on where the text lands.
Fastest path
Open the Strikethrough Text Generator, type your text, pick a style, copy.
Input: sold out
Output: s̸o̸l̸d̸ ̸o̸u̸t̸ (Single Strikethrough, U+0336)
That output is plain text — every character is followed by a combining strikethrough mark. Paste it into a tweet, an Instagram bio, a YouTube comment, a Discord message: the line comes with it. No markdown required, because it isn't markdown. It's eight visible characters that each happen to carry a line through them.
The substance: two kinds of strikethrough, and they are not interchangeable
1. Markdown strikethrough — ~~text~~
Wrap text in double tildes and a markdown renderer turns it into <del>sold out</del>, which displays as sold out. This is the right choice on GitHub, Reddit, Slack, Discord, GitLab, Notion, and most forums — anywhere markdown is supported. It's semantic (the HTML says "this is deleted"), accessible (screen readers announce it), editable (the source stays readable), and searchable (the underlying text is intact). The tildes are syntax, not content; they vanish on render.
2. Unicode strikethrough — combining marks
The tool does something different. It takes each character and appends a combining character after it — U+0336, "combining long stroke overlay." A combining mark attaches to the base character before it and renders on top. So s plus U+0336 displays as s̸. The word sold becomes four base characters each carrying its own line.
This works anywhere Unicode text is accepted, because it IS text — no renderer interpretation needed. That's why it survives on Twitter and in Instagram bios where markdown is stripped. But it carries costs markdown doesn't:
- The string doubles in length.
sold outis 8 characters; with combining marks it's 16. Twitter and Instagram count those against you. A 280-character tweet holds roughly 140 strikethroughed characters, not 280. - Search sees a different string. Google and site search read
s̸o̸l̸d̸ass+ combining mark +o+ combining mark… — not as the wordsold. Strikethrough text in a product listing or a doc is invisible to keyword search. For deletions in documentation, use markdown~~, never Unicode. - Accessibility suffers. Screen readers may ignore the combining marks and read the base word, or stumble over them. There's no semantic "deleted" signal. If the strikethrough carries meaning ("this price is no longer valid"), HTML
<del>or markdown~~is the correct, accessible choice — Unicode strikethrough is decoration.
The rule
Use markdown ~~ wherever markdown is rendered (it's semantic, searchable, accessible). Use Unicode combining strikethrough on platforms with no markdown (Twitter, Instagram bio, YouTube comments) where ~~ would show as literal tildes. The tool is for the second case.
The styles, and what the code point tells you
The tool offers seven styles, each a different combining mark:
| Style | Mark | What it draws |
|---|---|---|
| Single strikethrough | U+0336 | one horizontal line through each char |
| Double strikethrough | U+0336 ×2 | two stacked lines |
| Slash through | U+0338 | a diagonal solidus |
| Tilde strikethrough | U+0334 | a wavy line |
| Underline | U+0332 | a line below |
| Double underline | U+0333 | two lines below |
| Overline | U+0305 | a line above |
All seven work the same way — a combining mark after each base character — so they paste anywhere Unicode is accepted. Double strikethrough just emits U+0336 twice per character, which is why it can render unevenly on fonts with poor combining-mark support.
Gotchas
- Combining marks attach to the character before them. The tool appends a mark after each base char, which is correct. If you hand-edit and put a combining mark at the start of a string with no base before it, it floats as a stray line. Always generate, don't splice.
- Old renderers drop the line. Some older Android fonts and a few monospace terminals don't support combining marks and show the base letters with a gap or a box. There's no fix except a different font.
- Emoji and combining marks mix badly. The tool splits by code point, so an emoji becomes one base plus a stroke — which often renders offset or invisible. Stick to letters and digits.
- Don't use Unicode strikethrough for semantic deletions. Editing a contract, marking old prices, redlining a doc — those need
<del>or~~so the meaning survives copy-paste, search, and assistive tech. Unicode strikethrough is for social posts where it's pure style. - Markdown
~~isn't universal either. Reddit, Slack, Discord, and GitHub support it; WhatsApp and most email clients don't. When~~shows as literal tildes, that's the signal to switch to the Unicode version.
Summary
- Two kinds of strikethrough: markdown
~~text~~(semantic, searchable, accessible — use where markdown renders) and Unicode combining marks (plain text — use on Twitter, Instagram bios, YouTube comments where markdown is stripped). - Unicode strikethrough works by appending a combining character (U+0336) after each base char, so the string doubles in length and the line survives copy-paste anywhere.
- Don't use Unicode strikethrough for meaningful deletions — search and screen readers don't read it as "deleted." Use
<del>or~~for that. - Generate Unicode strikethrough at the Strikethrough Text Generator; for the markdown path use Markdown to HTML, and pair with Text Case Changer and Text Diff Merger for the rest of your text-formatting jobs.