A page action is a clickable icon inside the browser's address bar.

You can listen for clicks on the icon, or specify a popup that will open when the icon is clicked.

If you specify a popup, you can define its contents and behavior using HTML, CSS, and JavaScript, just like a normal web page. JavaScript running in the popup gets access to all the same WebExtension APIs as your background scripts.

You can define most of a page action's properties declaratively using the page_action key in your manifest.json, but can also redefine them programmatically using this API.

Page actions are for actions that are only relevant to particular pages (such as "bookmark the current tab"). If they are relevant to the browser as a whole (such as "show all bookmarks"), use a browser action instead.

Types

pageAction.ImageDataType
Pixel data for an image.

Functions

pageAction.show()
Shows the page action for a given tab.
pageAction.hide()
Hides the page action for a given tab.
pageAction.isShown()
Checks whether the page action is shown or not.
pageAction.setTitle()
Sets the page action's title. This is displayed in a tooltip over the page action.
pageAction.getTitle()
Gets the page action's title.
pageAction.setIcon()
Sets the page action's icon.
pageAction.setPopup()
Sets the URL for the page action's popup.
pageAction.getPopup()
Gets the URL for the page action's popup.
pageAction.openPopup()
Opens the page action's popup.

Events

pageAction.onClicked
Fired when a page action icon is clicked. This event will not fire if the page action has a popup.

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxOperaFirefox for Android
ImageDataTypeChrome Full support YesEdge No support NoFirefox Full support 45Opera Full support YesFirefox Android No support No
getPopupChrome Full support YesEdge Full support 14Firefox Full support 45Opera Full support YesFirefox Android Full support 50
Notes
Full support 50
Notes
Notes The 'tabId' parameter is ignored: the page action popup is the same for all tabs.
getTitleChrome Full support YesEdge Full support 14Firefox Full support 45Opera Full support YesFirefox Android No support No
hideChrome Full support YesEdge Full support 14Firefox Full support 45Opera Full support YesFirefox Android Full support 50
Notes
Full support 50
Notes
Notes Before version 56, the 'tabId' parameter was ignored, and the page action was hidden for all tabs.
isShownChrome No support NoEdge No support NoFirefox Full support 59Opera No support NoFirefox Android No support No
onClickedChrome Full support YesEdge Full support 14Firefox Full support 45Opera Full support YesFirefox Android Full support 50
openPopupChrome No support NoEdge No support NoFirefox Full support 57Opera No support NoFirefox Android No support No
setIconChrome Full support Yes
Notes
Full support Yes
Notes
Notes Before Chrome 23, `path` couldn't specify multiple icon files, but had to be a string specifying a single icon path.
Edge Full support 14Firefox Full support 45Opera Full support 15Firefox Android No support No
setPopupChrome Full support YesEdge Full support 14Firefox Full support 45Opera Full support YesFirefox Android Full support 50
Notes
Full support 50
Notes
Notes The 'tabId' parameter is ignored, and the popup is set for all tabs.
setTitleChrome Full support YesEdge Full support 14Firefox Full support 45Opera Full support YesFirefox Android No support No
showChrome Full support YesEdge Full support 14Firefox Full support 45Opera Full support YesFirefox Android Full support 50
Notes
Full support 50
Notes
Notes Before version 56, the 'tabId' parameter was ignored, and the page action was shown for all tabs.

Legend

Full support  
Full support
No support  
No support
See implementation notes.
See implementation notes.

Example extensions

Acknowledgements

This API is based on Chromium's chrome.pageAction API. This documentation is derived from page_action.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, Loirooriol, abbycar, chrisdavidmills, kmaglione
Last updated by: wbamberg,