MDN’s new design is in Beta! A sneak peek:


An object containing information about the sender of a message or connection request; this is passed to the runtime.onMessage() listener.

It is also a property of runtime.Port, but only in the Port instance passed into the runtime.onConnect() or runtime.onConnectExternal() listeners.


Values of this type are objects. They contain the following properties:

tabs.Tab. The tabs.Tab which opened the connection. This property will only be present when the connection was opened from a tab (including content scripts).
integer. The frame that opened the connection. Zero for top-level frames, positive for child frames. This will only be set when tab is set.
string. The ID of the add-on that sent the message, if the message was sent by an add-on. If the sender set an ID explicitly using the applications key in manifest.json, then id will have this value. Otherwise it will have the ID that was generated for the sender.
Note that in Firefox, before version 54, this value was the add-on's internal ID (that is, the UUID that appears in the add-on's URL).
string. The URL of the page or frame hosting the script that sent the message.
If the sender is a script running in an add-on page (such as a background page, an options page, or a browser action or page action popup), the URL will be in the form "moz-extension://<extension-internal-id>/path/to/page.html". If the sender is a background script and you haven't included a background page, it will be "moz-extension://<extension-internal-id>/_blank.html".
If the sender is a script running in a web page (including content scripts as well as normal page scripts), then url will be the web page URL. If the script is running in an iframe, url will be the iframe's URL.
string. The TLS channel ID of the page or frame that opened the connection, if requested by the add-on, and if available.

Browser compatibility

ChromeEdgeFirefoxFirefox for AndroidOpera
Basic support26Yes45 148 115
url28Yes 2454815
1. Before version 54, 'id' was the add-on's internal UUID, not the add-on ID.
2. The `url` is missing when the message was sent by an extension view.


This API is based on Chromium's chrome.runtime API. This documentation is derived from runtime.json in the Chromium code.

Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.

Document Tags and Contributors

 Contributors to this page: wbamberg, chrisdavidmills
 Last updated by: wbamberg,