This page is Not Ready

Notice: The WebPlatform project, supported by various stewards between 2012 and 2015, has been discontinued. This site is now available on github.



Describes the base element from which the element with this attribute is extended.

Applies to dom/HTMLElement
Extending an element with [document.createElement](/w/index.php?title=dom/document/createElement&action=edit&redlink=1) creates a new element. To use that element in markup, you must describe the element with a tag and include the `is=` attribute with the value of the base element from which the new element is extended. See examples.


Markup for an extended element.

<button is="mega-button">

Creates the custom element 'mega-button’, which is extended from the ‘button’ element.

var megaButton = document.createElement('button', 'mega-button');
// megaButton instanceof MegaButton === true


 The extended element name must contain at least one dash (-). So for example, <x-foo>, <foo-element>, and <my-foo-element> are valid names, while <tabs> and <foo_bar> are not.


The custom element name must not be one of the following existing hyphen-containing element names:

  • annotation-xml
  • color-profile
  • font-face
  • font-face-src
  • font-face-uri
  • font-face-format
  • font-face-name
  • missing-glyph

Related specifications

Custom Elements
Working draft

See also

Related articles

Web Components

External resources

See Custom Elements on HTML5Rocks!.