Creates a data URL encoding the image of an area of the given tab. You must have the <all_urls> permission to use this method.

This is an asynchronous function that returns a Promise.


let capturing = browser.tabs.captureTab(
  tabId,               // optional integer
  options              // optional extensionTypes.ImageDetails


tabId Optional

integer. ID of the tab to capture. Defaults to the active tab in the current window.

options Optional


Return value

A Promise that will be fulfilled with a data URL which encodes the captured image. May be assigned to the 'src' property of an HTML Image element for display. If any error occurs the promise will be rejected with an error message.


Capture an image of the active tab in the current window, with default settings:

function onCaptured(imageUri) {

function onError(error) {
  console.log(`Error: ${error}`);

browser.browserAction.onClicked.addListener(() => {
  let capturing = browser.tabs.captureTab();
  capturing.then(onCaptured, onError);

Browser compatibility

BCD tables only load in the browser

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