HTML Global data-* Attributes

HTML data-* Attributes


Use the data-* attribute to embed custom data:

  <li data-animal-type="bird">Owl</li>
  <li data-animal-type="fish">Salmon</li>
  <li data-animal-type="spider">Tarantula</li>
Try it Yourself »

Definition and Usage

The data-* attributes is used to store custom data private to the page or application.

The data-* attributes gives us the ability to embed custom data attributes on all HTML elements.

The stored (custom) data can then be used in the page's JavaScript to create a more engaging user experience (without any Ajax calls or server-side database queries).

The data-* attributes consist of two parts:

  1. The attribute name should not contain any uppercase letters, and must be at least one character long after the prefix "data-"
  2. The attribute value can be any string

Note: Custom attributes prefixed with "data-" will be completely ignored by the user agent.

Browser Support

The numbers in the table specify the first browser version that fully supports the attribute.

data-* 4.0 5.5 2.0 3.1 9.6

Differences Between HTML 4.01 and HTML5

The data-* attributes are new in HTML5.


<element data-*="somevalue">

Attribute Values

Value Description
somevalue Specifies the value of the attribute (as a string)

Related Pages

HTML Tutorial: HTML Attributes

HTML DOM Reference: HTML DOM getAttribute() Method