The HTML <span> element is a generic inline container for phrasing content, which does not inherently represent anything. It can be used to group elements for styling purposes (using the class or id attributes), or because they share attribute values, such as lang. It should be used only when no other semantic element is appropriate. <span> is very much like a <div> element, but <div> is a block-level element whereas a <span> is an inline element.

Content categories Flow content, phrasing content.
Permitted content Phrasing content.
Tag omission None, both the starting and ending tag are mandatory.
Permitted parents Any element that accepts phrasing content, or any element that accepts flow content.
Implicit ARIA role No corresponding role
Permitted ARIA roles Any
DOM interface HTMLSpanElement (before HTML5, the interface was HTMLElement)


This element only includes the global attributes.


Example 1


<p><span>Some text</span></p>


Example 2


    <a href="portfolio.html" target="_blank">See my portfolio</a>


li span {
  background: gold;



Specification Status Comment
HTML Living Standard
The definition of '<span>' in that specification.
Living Standard
The definition of '<span>' in that specification.
Recommendation The DOM interface is now HTMLSpanElement.
HTML 4.01 Specification
The definition of '<span>' in that specification.

Browser compatibility

BCD tables only load in the browser

See also