<u>

The HTML <u> element renders text with an underline, a line under the baseline of its content. In HTML5, this element represents a span of text with an unarticulated, though explicitly rendered, non-textual annotation, such as labeling the text as being a proper name in Chinese text (a Chinese proper name mark), or labeling the text as being misspelled.

Content categories Flow content, phrasing content, palpable content.
Permitted content Phrasing content.
Tag omission None, both the starting and ending tag are mandatory.
Permitted parents Any element that accepts phrasing content.
Permitted ARIA roles Any
DOM interface HTMLElement Up to Gecko 1.9.2 (Firefox 4) inclusive, Firefox implements the HTMLSpanElement interface for this element.

Attributes

This element only includes the global attributes.

Usage notes

As with all pure styling elements, <u> was deprecated in HTML 4 and XHTML 1, but was then re-introduced in HTML5 with other semantics. If you want to underline text in a non-semantic manner, you should use a <span> element, or another semantically appropriate element, and style it with the CSS text-decoration property, with the underline value.

Tip: Avoid using the <u> element where it could be confused for a hyperlink.

Note: The HTML 5 specification reminds developers that other elements are almost always more appropriate than <u>.

Example

The following are examples of how elements other than <u> should be used instead.

<u>Today's Special</u>: Salmon<br />
<span style="text-decoration:underline;">Today's Special</span>:
  Salmon
<!-- Here <span> is used as the underlining is purely decorative
  and it is applied with CSS -->

Today's Special: Salmon

Today's Special: Salmon

<p><u>All</u> of that is explained in
  <u>Dive into Python</u></p>
<p><em>All</em> of that is explained in
  <i>Dive into Python</i></p>
<!-- Here the "All" is marked as stressed, using <em>,
  while "Dive into Python" is marked as a name using <i> --> 

All of that is explained in Dive into Python.

All of that is explained in Dive into Python.

Due to the default styling of <em> and <i> they have been displayed in italics, however CSS can be used to style those elements with a normal font style and underline.

Specifications

Specification Status Comment
WHATWG HTML Living Standard
The definition of '<u>' in that specification.
Living Standard  
HTML5
The definition of '<u>' in that specification.
Recommendation  
HTML 4.01 Specification
The definition of '<b>' in that specification.
Recommendation  

See Also

  • The <span>, <i>, <em>, and <cite> elements are, depending on the case, to be used instead.
  • The CSS text-decoration property is to be used to achieve the former visual aspect of the <u> element.

Document Tags and Contributors

 Last updated by: sideshowbarker,