Join MDN and developers like you at Mozilla's View Source conference, November 2-4 in Portland, Oregon. Learn more at



The HTML <content> element is used inside of Shadow DOM as an insertion point. It is not intended to be used in ordinary HTML. It is used with Web Components.


This element includes the global attributes.

A comma-separated list of selectors. These have the same syntax as CSS selectors. They select the content to insert in place of the <content> element.


Here is a simple example of using the <content> element. It is an HTML file with everything needed in it.

Note: For this code to work, the browser you display it in must support Web Components. See Enabling Web Components in Firefox.

  <!-- The original content accessed by <content> -->
    <h4>My Content Heading</h4>
    <p>My content text</p>

  // Get the <div> above.
  var myContent = document.querySelector('div');
  // Create a shadow DOM on the <div>
  var shadowroot = myContent.createShadowRoot();
  // Insert into the shadow DOM a new heading and 
  // part of the original content: the <p> tag.
  shadowroot.innerHTML =
   '<h2>Inserted Heading</h2> <content select="p"></content>';


If you display this in a web browser it should look like the following.

content example


Specification Status Comment
Shadow DOM
The definition of 'content' in that specification.
Working Draft  

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 35 28 (28) [1] Not supported 26 Not supported
Feature Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support 37 28.0 (28) [1] Not supported ? ?

[1] If Shadow DOM is not enabled in Firefox, <content> elements will behave like HTMLUnknownElement. Shadow DOM was first implemented in Firefox 33 and is behind a preference, dom.webcomponents.enabled, which is disabled by default.

See also

Document Tags and Contributors

Contributors to this page: m32po, markg, teoli, Jeremie, kscarfone
Last updated by: m32po,