Allowed HTML Tags
The Stack Exchange engine allows only the following safe, allowed subset of HTML tags.
Press your middle mouse button and wave your mouse left or right to scroll the table, or use your laptop's trackpad (if applicable):
Tag | Title and Description | Preview | Markdown Equivalent |
---|---|---|---|
<a> |
Anchor Used to create hyperlinks. |
Stack Exchange | [Stack Exchange](https://meta.stackexchange.com) |
<b> |
Bring Attention To Used to draw the reader's attention to the contents, which are not otherwise granted special importance. |
Stack Exchange Renders the same as <strong> . |
None, **this** syntax produces <strong> |
<blockquote> |
Block Quotation Indicates that the enclosed text is an extended quotation. |
Stack Exchange |
> Stack Exchange |
<br> |
Line Break Produces a line break in text (carriage-return) |
Stack Exchange Stack Exchange |
Two spaces at the end of the first line:Stack Exchange |
<code> |
Inline Code Indicates that the text is a short fragment of computer code. |
Stack Exchange |
`Stack Exchange` |
<del> |
Deleted Text A range of text that has been deleted from a document. |
None on SE | |
<dd> |
Description Details Provides the description, definition, or value for the preceding term ( <dt> ) in a description list (<dl> ). |
|
None |
<dl> |
Description List A description list. |
|
None |
<dt> |
Description Term A term in a description or definition list. |
|
None |
<em> |
Emphasis Marks text that has stress emphasis. |
Stack Exchange Renders same as <i> . |
*Stack Exchange* |
<h1> <h2> <h3> <h4> <h5> <h6> |
Section Heading<h1> –<h6> |
Stack ExchangeStack ExchangeStack ExchangeStack ExchangeStack ExchangeStack Exchange |
Stack Exchange # Stack Exchange |
<hr> |
Defines a thematic change in the content, usually via a horizontal line. | Must be an empty line before and after the dashes:--- |
|
<i> |
Idiomatic Text A range of text that is set off from the normal text for some reason. |
Stack Exchange Renders same as <em> . |
None, *this* syntax produces <em> |
<img> |
Image Embed Embeds an image into the document. |
![Stack Exchange Logo](https://i.sstatic.net/8ANhG.png) |
|
<kbd> |
Keyboard Input A span of inline text denoting textual user input from a keyboard, voice input, or any other text entry device. |
Stack Exchange | None |
<li> |
Used to represent an item in a list. |
|
- List item |
<ol> |
Ordered List An ordered list of items—typically rendered as a numbered list. |
|
1. Step one |
<p> |
Paragraph. | Stack Exchange No visual changes, used to create explicit paragraphs |
Stack Exchange |
<pre> |
Preformatted Text Preformatted text which is to be presented exactly as written. |
Stack Exchange |
Stack Exchange ``` |
<s> |
Renders text with a strikethrough, or a line through it. | None | |
|
Strikethrough is deprecated, use <del> or <s> instead. |
N/A | None |
<strong> |
Strong Importance Indicates that the contents have strong importance, seriousness, or urgency. Renders in bold type. |
Stack Exchange | **Stack Exchange** |
<sub> |
Subscript Inline text which should be displayed as subscript. |
TextStack Exchange | None |
<sup> |
Superscript Inline text which should be displayed as superscript. |
TextStack Exchange Because <small> is not on this list, many users use <sup> as an alternative. |
None |
<ul> |
Unordered List |
|
- An item + An item * An item |
<!-- language: [...] --> <!-- language-all: [...] --> |
Language comment Used to specify the syntax highlighting language for four-space indent and HTML code blocks or for the entire post, respectively, when used at the top of a block or the post. The former syntax is deprecated for four-space code blocks, but is still supported due to older posts using it. |
N/A | ```[language-name] |
<!-- begin snippet --> <!-- end snippet --> |
Stack Snippet comment Used to indicate the starting and ending points of a Stack Snippet embedded in the post. |
N/A | N/A |
<!-- summary: [...] --> |
Expanded user card summary comment Used in user profile descriptions to specify alternate text that should be rendered in user card hover popups on posts in lieu of the text in the bio itself. Can also be used to opt out of the popup while still having a bio (by using a summary that's shorter than 6 characters). |
N/A | <!-- summary: Short text here --> <!-- summary: abc --> |
Note that since we allow the above HTML tags, to have tags show up as text you need to escape the <
character. You can do this by marking it as code (with indentation or backticks as is done below) or by using the HTML entity <
.
Any tags not in the above list will be stripped out of the post. Do note that the sanitizer that strips out tags will recognize any text between <
and >
characters as HTML, and so any such text will be stripped out of the post; to prevent this, encode those characters as <
and >
.
Are HTML comments supported?
Yes and no. While they (often) do work in the way you specify, that's not because they're officially supported by the system; they just happen to get removed as invalid HTML. Technically speaking, only the above comments used for special system features (syntax highlighting languages, Stack Snippets, and user card popup summaries) are supported. This fact leads to some quirks and limitations, such as that comments cannot contain the > character even though the HTML specification permits those characters in comments.
Allowed attributes
Attributes are only allowed on <img>
and <a>
. Other tags with attributes will be stripped.
Allowed attributes for <img>
The following attributes are allowed on the <img>
tag, in the order shown below. Note that the mobile theme enforces a maximum width
of 90%
, so specifying a height
might not scale the image proportionally on the mobile sites.
Attributes must be specified in this order. You may omit attributes you do not want to specify, but specifying a later attribute before an earlier one will strip the tag.
src=""
width=""
(1–999; plain number without any extensions likepx
)height=""
(1–999; plain number without any extensions likepx
; pay attention to order warning above)alt=""
title=""
Allowed attributes for <a>
Once again, attributes specified in reverse order to what is shown here will cause the tag to be stripped:
href=""
This attribute can only hold proper URL links, such ashttps://stackexchange.com/users/
, or relative or protocol-relative URL links such as/q/3122
or//stackexchange.com/users/
. They cannot hold other types of links, such as relative fragments (e.g.#3122
), or protocols other than HTTP or HTTPS (e.g.javascript
,ftp
, ormailto
). Invalidhref
s will strip the entire<a>
tag.*title=""
Important Notes
- HTML tags unlisted above are stripped from the output. They may render in the client preview, but they will always be removed on the server.
- The tags must be entered exactly as shown in the list. Exactly one space must be present between attributes with no spaces between the attribute name,
=
sign, and double quotes""
.- Valid:
<a href="...">
- Invalid:
<a href="...">
- Invalid:
<a href= "...">
- Valid:
- While it is possible to make tables using Markdown syntax, we do not support the HTML
<table>
element.
* On Stack Overflow for Teams sites, mailto
links are allowed.