Add-ons

tabs.captureTab()

Creates a data URI encoding an image of the visible 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.

Syntax

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

Parameters

tabIdOptional
integer. ID of the tab to capture. Defaults to the active tab in the current window.
optionsOptional
extensionTypes.ImageDetails.

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

formatOptional
extensionTypes.ImageFormat. The format of the resulting image. Default is "png".
qualityOptional
integer. When format is "jpeg", this controls the quality of the resulting image. It is a number between 0 and 100, which is converted to a value between 0 and 1 and then used as the encoderOptions argument to HTMLCanvasElement.toDataURL(). If is is omitted, 92 is used. As quality is decreased, the resulting image will have more visual artifacts, and the number of bytes needed to store it will decrease. This value is ignored for PNG images.

Return value

A Promise that will be fulfilled with a data URL which encodes an image of the visible area of the captured tab. 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.

Browser compatibility

ChromeEdgeFirefoxFirefox for AndroidOpera
Basic support No No5959 No

Examples

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

function onCaptured(imageUri) {
  console.log(imageUri);
}

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

browser.browserAction.onClicked.addListener(function() {
  var capturing = browser.tabs.captureTab();
  capturing.then(onCaptured, onError);
});

Acknowledgements

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

Document Tags and Contributors

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