HTML <u> Tag

The HTML <u> tag represents text with an unarticulated, though explicitly rendered, non-textual annotation. This could include words or spans of text that need to be presented differently such as misspelt words or Chinese names.

Prior to HTML5, the <u> tag was used purely for presentational purposes (to underline text). However, this has changed and from HTML5, the <u> element has a more specific semantic purpose (as outlined above). If your intention is simply to underline text (without conveying any other meaning), use the text-decoration property instead.

Most browsers/user agents underline text that is marked up with the <u> tag. For this reason, you should avoid using this element in cases where it may be confused for a hyperlink. Alternatively, you could use CSS to style the text so that it is differentiated from hyperlinks.


The <u> tag is written as <u></u> with the non-textual annotation inserted between the start and end tags.

Like this:



Chinese Proper Names


Attributes can be added to an HTML element to provide more information about how the element should appear or behave.

There are 3 kinds of attributes that you can add to your HTML tags: Element-specific, global, and event handler content attributes.

The <u> element accepts the following attributes.

Element-Specific Attributes

This table shows the attributes that are specific to the <u> tag/element.


Global Attributes

The following attributes are standard across all HTML5 elements. Therefore, you can use these attributes with the <u> tag , as well as with all other HTML tags.

For a full explanation of these attributes, see HTML 5 global attributes.

Event Handler Content Attributes

Event handler content attributes enable you to invoke a script from within your HTML. The script is invoked when a certain "event" occurs. Each event handler content attribute deals with a different event.

Below are the standard HTML5 event handler content attributes.

Again, you can use any of these with the <u> element, as well as any other HTML5 element.

For a full explanation of these attributes, see HTML 5 event handler content attributes.

Differences Between HTML 4 & HTML 5

HTML 4 (and earlier) defines the <u> element for presentation purposes only (i.e. to underline text).

HTML5 defines the <u> element with a specific semantic purpose, that it 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 misspelt.

The <u> tag was deprecated in HTML 4.01 and initially obsolete in the HTML5 specification. However, it has since returned to the HTML5 specification as a valid HTML element with a different purpose (as outlined above).

To see more detail on the two versions see HTML5 <u> Tag and HTML4 <u> Tag. Also check out the links to the official specifications below.


Here's a template for the <u> tag with all available attributes for the tag (based on HTML5). These are grouped into attribute types, each type separated by a space. In many cases, you will probably only need one or two (if any) attributes. Simply remove the attributes you don't need.

For more information on attributes for this tag, see HTML5 <u> Tag and HTML4 <u> Tag.

Tag Details

For more details about the <u> tag, see HTML5 <u> Tag and HTML4 <u> Tag.


Here are the official specifications for the <u> element.

What's the Difference?

W3C creates "snapshot" specifications that don't change once defined. So the HTML5 specification won't change once it becomes an official recommendation. WHATWG on the other hand, develops a "living standard" that is updated on a regular basis. In general, you will probably find that the HTML living standard will be more closely aligned to the current W3C draft than to the HTML5 specification.