~~Strikethrough text~~
**~~Bold and struck through~~**Strikethrough formatting—drawing a horizontal line through text while leaving the characters legible beneath—is essential for editorial revisions, documenting deprecated code APIs, marking superseded roadmap milestones, and signaling completed actions.
While absent from the original 2004 Markdown specification, strikethrough was formally standardized by GitHub Flavored Markdown (GFM) using double tildes (~~) and is universally supported across Obsidian, Oyma, and modern document engines.
Basic strikethrough syntax
To apply strikethrough to text in Markdown, wrap the target word or phrase in double tildes (~~):
~~This feature has been deprecated in version 2.0.~~
This compiles to the semantic HTML <del> element: <del>This feature has been deprecated in version 2.0.</del>.
Striking through specific words
You can strike through individual words within a sentence:
The quarterly sprint review is scheduled for ~~Thursday~~ Friday morning.
Delimiter whitespace rules
Just like bold and italics, strikethrough requires that delimiters directly touch the content without intervening whitespace:
<!-- INCORRECT: Whitespace inside tildes -->
~~ this text will not be struck through ~~
<!-- CORRECT: Delimiters touch text directly -->
~~this text renders with a clean strike line~~
Combining strikethrough with other formatting
Strikethrough can be nested with bold, italics, inline code, and links:
- **~~Completed high-priority milestone~~**
- *~~Tentative meeting discussion~~*
- ~~Deprecated function: `fetchLegacyData()`~~
- ~~Canceled link: [Legacy Portal](https://example.com)~~
Symmetry rule: Maintain proper nesting order. If bold delimiters (**) are placed on the outside, close them on the outside: **~~text~~**.
Strikethrough vs Task checkboxes
In project management and meeting notes, strikethrough is often used alongside task checkboxes:
- [x] ~~Deploy worker container to production~~
- [ ] Migrate legacy databases to local storage
In Oyma, checking a task box (- [x]) automatically applies a refined strike styling to the task description in the live-preview display, so manual double tildes are optional for task items.
Strikethrough in Oyma on macOS
Writing strikethrough in Oyma is fast and fluid:
- Highlight any phrase and press the native macOS shortcut
⌘⇧Xto toggle strikethrough delimiters instantly. - In live-preview mode, the strike line renders at native Retina resolution with balanced vertical alignment across standard system fonts (San Francisco, New York, or Menlo).
- When your cursor enters the struck word, the bounding
~~markers reveal themselves for character-accurate editing; moving the cursor away conceals them. - Files remain 100% standard plain-text GFM on your Mac’s filesystem.
HTML compilation semantics: <del> vs <s>
Under the GitHub Flavored Markdown specification, ~~text~~ compiles into the semantic HTML <del> element:
<del>Deprecated configuration parameter</del>
In standard W3C HTML semantics:
<del>represents content that has been deleted or removed from a document during editorial revision.<s>represents content that is no longer accurate or relevant, but was not necessarily deleted in an editorial audit.
Most markdown compilers generate <del>, making it ideal for tracking meeting action item closures, discarded requirements, and code refactor deprecations.
Screen reader accessibility considerations
By default, most web browsers and screen readers (including Apple VoiceOver) do not announce strikethrough or <del> styling in standard speech mode to prevent audio clutter. When communicating critical status updates (such as cancelled deadlines or revoked security keys), it is best practice to combine strikethrough with explicit text labels:
<!-- Recommended accessible syntax: -->
- **[CANCELLED]** ~~Vendor interview scheduled for 3:00 PM~~
- **[COMPLETED]** ~~Draft initial PRD for local search pipeline~~
This ensures that team members using screen readers receive the status change immediately, while sighted readers enjoy the visual convenience of the struck line.
Abstract syntax tree (AST) node definition
Parsers based on mdast or remark-gfm represent strikethrough as a delete node type:
{
"type": "delete",
"children": [
{
"type": "text",
"value": "Deprecated configuration parameter"
}
]
}
This explicit node type allows custom transformation scripts, static site generators, and documentation pipelines to inspect, transform, or strip deleted text automatically before publication.
Frequently asked questions
- What is the standard syntax for strikethrough in Markdown?
- Strikethrough text is enclosed between double tildes: `~~strikethrough text~~`. It compiles to the HTML `
` (deleted text) or `` (strikethrough) element. - Can I use a single tilde (~) for strikethrough?
- No. Standard GitHub Flavored Markdown (GFM) requires double tildes (`~~`). In some extended markdown engines, a single tilde (`~text~`) designates subscript rather than strikethrough.
- Can strikethrough be combined with bold, italics, or code?
- Yes. You can nest delimiters: `**~~Bold and struck through~~**` or `*~~Italic and struck through~~*`. The delimiters must be symmetrical on both sides.
- How does Oyma handle strikethrough in the live editor?
- Oyma immediately draws a refined horizontal strike line across the text while concealing the bounding double tildes when your cursor moves away.
Experience Strikethrough Text with zero lock-in.
Write GitHub Flavored Markdown (GFM) notes directly on your Mac with native live preview and sovereign local storage.