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.
Permitted ARIA roles Any
DOM interface HTMLSpanElement (before HTML 5, the interface was HTMLElement)


This element only includes the global attributes.

Example 1

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


Some text

Example 2

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


li span {
background: gold;


Specification Status Comment
WHATWG 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

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)
Feature Android Edge Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

See also