Strikeout threw out? Strikethrough strikes out, throughout?

Adding support for delta markup (so ---/+++) might be interesting but as extension.

Hardly. I beg to differ on all counts.

Your first sentence is self-contradictory, as that particular use of strikeout has only appeared in the digital era. In fact, the opposite is true: it is now filtering down into print.

Ok, so yes, I’m trying to sell make the case for this feature’s inclusion. But I fully stand by that statement: particularly, on the internet, where the lack of tone and inflection often makes it difficult to convey the writer’s intent, strikethrough stands apart in its power a metadiscursive device that can variously be used for apophasis, epanorthosis, implied criticism, wry humor, irony, etc.

You may disagree, but I certainly am not alone in this opinion.

Of course, additionally:

  • It is often used to render completed items in a list.

  • And, more critically, it is frequently used to preserve the “revision history” (illustrate where and how text has been changed) in revised blog posts, etc., which have been updated since their first publication.

Well… I can think of one or two blog posts which could benefit from the judicious use of some strikethrough. :wink:

True, typing <s> isn’t particularly onerous. But the spec (as it reads today) does allude to the possibility of non-html rendering targets, and these would benefit from the inclusion of this extension in the standard, a feature which is already implemented in a good many Markdown implementations.

I measure it all the time!

And, if “strikeout is just trying to make digital text mimic pen and paper”, ok, but isn’t Markdown “just” trying to make HTML formatting mimic plaintext email?


It is confusing that both <s> and <del> are in the HTML5 spec.

For the record, Github flavoured Markdown converts ~~ to <del>, rather than <s>.

ah <s> represented text that are just plain deleted. While <del> represents deleted text that has a <ins> counterpart text inserted.

Does <del> require an <ins> counterpart though? Careful trusting W3Schools. The W3C HTML5 spec doesn’t appear to require this, making me wonder what the practical difference between <s> and <del> is.

1 Like

I don’t think so. Basically what I think they are trying to do, is keep “review” operations of deleting and adding text, separate from the visible ‘strikeout’ that you occationally see in news site that has been edited.

Basically <s> is for public consumption, while <del and <ins> is for internal consumption. E.g. during publishing, the del and ins tag may be removed.

From the <del> spec:

This value may be shown to the user, but it is primarily intended for private use.

As it can be shown to the user, why not always use <del> instead of <s>? More importantly for us, why should Markdown support both? If there is no practical reason, I suggest only supporting <del> via ~~ and saving a lot of confusion.

I may be mistaken, but <s> feels like a legacy element in the same way that <b>, <i>, and <u> do.

1 Like

well its used often enough that it was reintroduced by w3 for html5. I mean, how else do you bold text or underline or italic without it?

With CSS normally, if it’s presentational information only. In HTML5 they have been updated with semantic meaning, but it’s misleading coming from HTML4. This article explains the new meanings of <b> and <i>.

argh yea I see what you mean in terms of <b> and <i>.

Well at least for <s> it seems rather straightforward.
It represents “Mark up text that is no longer correct” .

Which does include ‘ironic usage’, e.g. I am keeping some slaves interns in the office.
Which works, as long as you know it’s context.

<del> would commonly be used to markup text that is no longer correct (otherwise why edit it out?). It might be removed for other reasons as well of course. Practically, the meanings of <del> and <s> seem close enough not to warrant a separate tag.

I think on closer reading, there is a distinct difference. The <del> tag is specifically a ‘reviewing’ tag, which means it is a tag that along with <ins> is for addition and subtraction of a content under review. This is much different than <s> which is for marking strikethrough of text, (rather than striking out), and thus is for public consumption. Refer to Reviewing Markups for more information.

<del> appears to encompass the meaning of <s> since it can be publicly presented as well. We need some examples of where <s> might be used but where <del> would be inappropriate. If there are no examples, perhaps <s> is not needed in Markdown.

well strike though marks does not always mean ‘deleting’.

It’s sometimes used as an ironic notion. E.g. CAT: “I seriously love my slave human”

Also I’ll show <del> as a red box with --- on each side. While for <s> I would show it as a standard strikethought. (Which shows that presentation between the two tags is not always treated the same)

1 Like

The original intent was to give a specification of core Markdown elements. Certainly extensions like strikethrough can be considered later, but I’d like to get the core settled first.


That sounds like a relatively logical approach, professor. I just thought I’d get this one up on the board: it and other extensions can be resolved as future contingents.



Also, I’d point out that the discussion above regarding <s> vs. <del> is exactly why I think its important to be explicit about targeting HTML5.

Aye, hence I’ve created two threads to cover both the “presentational” <s> and the editorial review/diff style of tags like <del>.

##Strike Through:

Via --strike through--

Is covered in this thread

Usually rendered purely as a strike through . So semantically doesn’t always mean incorrect information, it can mean an ironic statement.

##Strike Out:

Via >>~~ strikeout ~~<<

Is covered in this thread

<del> might be rendered in some site as [ --- striked out --- ]
(As for <ins> it might looks like [ +++ insert +++ ] via >>++ insert ++<<)

Edit: modified >>-- strike through --<< to -- strike through --. And added to strikeout

1 Like

There is no reason srikethrough shouldn’t be a core feature of markdown. There is nothing to discuss. Every markdown implementation that implements srikethrough, does it the same way. When (not if) you add srikethrough to the standard, you are going to specify that two tildes get parsed into a <del>; anything else would be unwise.


  • there is minimal extra cost involved in adding srikethrough to the standard now.
  • by delaying to add it, you gain nothing.
  • by adding it you would make a lot of people happy.
  • what exactly is your problem here?

Tone down the rhetoric please; see

The initial goal of CommonMark is to stabilize the existing Markdown spec, not adding everyone’s pet extensions.

Over time, once the much more important work of stabilizing the spec and having a great set of tests for the spec is complete, we will look at extensions and additions. But that is not the priority over the next immediate 6 months.


If you need to support strikethrough right now, no one is stopping you from implementing it (via the ~~ syntax which GitHub uses, or via plain HTML). You may need to convert some Markdown documents later if a different syntax is chosen, although this seems unlikely.

I would much rather see the CommonMark core remaining small. App writers then have a choice as to which additional features they will support. They can clearly inform users of which extensions are supported.

1 Like