We're looking for a person or people to help audit MDN to find places we could speed up. Is this you or someone you know? Check out the RFP: https://mzl.la/2IHcMiE



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.

This is an asynchronous function that returns a Promise.


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


integer. The target window. Defaults to the current window.

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

extensionTypes.ImageFormat. The format of the resulting image. Default is "png".
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 Yes1154754 Yes1

1. The default file format is 'jpeg'.


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(function() {
  var capturing = browser.tabs.captureVisibleTab();
  capturing.then(onCaptured, onError);


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