The BroadcastChannel interface represents a named channel that any browsing context of a given origin can subscribe to. It allows communication between different documents (in different windows, tabs, frames or iframes) of the same origin. Messages are broadcasted via a message event fired at all BroadcastChannel objects listening to the channel.

Note: This feature is available in Web Workers.


Creates an object linking to the named channel.


This interface also inherits properties from its parent, EventTarget.
Returns a DOMString, the name of the channel.

Event handlers

An EventHandler property that specifies the function to execute when a message event is fired on this object.
An EventHandler called when a MessageEvent of type MessageError is fired—that is, when it receives a message that cannot be deserialized.


This interface also inherits methods from its parent, EventTarget.

Sends the message, of any type of object, to each BroadcastChannel object listening to the same channel.
Closes the channel object, indicating it won't get any new messages, and allowing it to be, eventually, garbage collected.


Specification Status Comment
HTML Living Standard
The definition of 'BroadcastChannel' in that specification.
Living Standard Initial definition.

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support54 ?38 No41 No
BroadcastChannel() constructor54 ?38 No41 No
name54 ?38 No41 No
onmessage54 ?38 No41 No
onmessageerror60 ?57 No47 No
close54 ?38 No41 No
postMessage54 ?38 No41 No
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support5454 ? ?41 No6.0
BroadcastChannel() constructor5454 ? ?41 No6.0
name5454 ? ?41 No6.0
onmessage5454 ? ?41 No6.0
onmessageerror6060 ? ?47 No No
close5454 ? ?41 No6.0
postMessage5454 ? ?41 No6.0

See also

Document Tags and Contributors

Contributors to this page: fscholz, chrisdavidmills, jpmedley, mkato, teoli
Last updated by: fscholz,