ShadowRoot: getHTML() method

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The getHTML() method of the ShadowRoot interface is used to serialize a shadow root's DOM to an HTML string.

The method provides an options argument that enables the serialization of child nodes that are shadow roots. The options can be used to include nested shadow roots that have been set as serializable, and/or a specified array of ShadowRoot objects, which may be either open or closed.

Without arguments, child nodes that are shadow roots are not serialized, and this method behaves in the same way as reading the value of Element.innerHTML.


const html = shadowRoot.getHTML(options)


options Optional

An options object with the following optional parameters:


A boolean value that specifies whether to include serializable shadow roots. The default value is false.


An array of ShadowRoot objects to serialize. These are included regardless of whether they are marked as serializable, or if they are open or closed. The default value is an empty array.

Return value

A string that represents the HTML serialization of the shadow root.




HTML Standard
# dom-shadowroot-gethtml

Browser compatibility

BCD tables only load in the browser

See Also