tabs.captureVisibleTab()

Creates a data URI encoding an image of the visible area of the currently active tab in the specified window. You must have the <all_urls> permission to use this method. (Alternately, Chrome allows use of this method with the activeTab permission and a qualifying user gesture).

This is an asynchronous function that returns a Promise.

Syntax

var capturing = browser.tabs.captureVisibleTab(
  windowId,               // optional integer
  options                 // optional extensionTypes.ImageDetails
)

Parameters

windowIdOptional
integer. The target window. Defaults to the current window.
optionsOptional
extensionTypes.ImageDetails.

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

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxOperaFirefox for Android
Basic supportChrome Full support Yes
Notes
Full support Yes
Notes
Notes The default file format is 'jpeg'.
Edge Full support 15Firefox Full support 47Opera Full support Yes
Notes
Full support Yes
Notes
Notes The default file format is 'jpeg'.
Firefox Android Full support 54

Legend

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

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.captureVisibleTab();
  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.

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, hellosct1, JeffersonScher, Makyen, kmaglione
Last updated by: wbamberg,