The HTML <s> tag
The HTML <s> element marks text that is no longer accurate or relevant — like a superseded price — rendered with a strikethrough. For content removed as part of an edit, use <del> instead.
Overview
The <s> element represents content that is no longer accurate or relevant but is still shown to the reader — a sold-out product, a superseded price, or an outdated fact. Browsers render it with a strikethrough line.
The distinction that matters is from <del>, which specifically marks content deleted as part of a document edit or revision. Use <s> for "no longer true," and <del> for "removed in an edit."
For a purely decorative strikethrough with no such meaning, use the CSS text-decoration: line-through instead. And reinforce the meaning where it matters — a struck price may need visible text or an accessible label so the change is not conveyed by the line alone.
Syntax
<p><s>£20</s> Now £15</p>
Example
<p>Was <s>£99</s> — now only £79!</p>
Best practices
- Use
<s>for content that is no longer accurate or relevant but still displayed. - Use <del> instead when the content was deleted in a document edit.
- For decorative strikethrough, use the CSS text-decoration: line-through.
- Do not rely on the strikethrough line alone to convey meaning — add text or a label for clarity.
Frequently asked questions
What is the difference between s and del?
<s> marks content that is no longer accurate or relevant; <del> marks content removed in a document edit.How do I show a struck-out old price?
<s> if it is simply no longer the current price. Pair it with the new price and clear wording for accessibility.How do I add a strikethrough that has no meaning?
<s> element.Is the s element deprecated?
<s> to mean "no longer accurate or relevant".