This is an archived page. It's not actively maintained.


Warning: Removed in Firefox 65.

The getScreenshot() method of the HTMLIFrameElement lets you request a screenshot of a content <iframe>, scaled to fit within a specified maximum width and height. The image will be cropped if necessary but will not be distorted vertically or horizontally.

Note: getScreenshot() waits for the event loop to go idle before it takes the screenshot. It won't wait more than 2000ms (this delay is defined by the Gecko dom.browserElement.maxScreenshotDelayMS preference).


var instanceOfDOMRequest =
instanceOfHTMLIframeElement.getScreenshot(maxWidth, maxHeight, mimeType);


A DOMRequest for handling the screenshot request. Its request.onsuccess handler handles the success case (the screenshot is contained in request.result as a Blob object), and its request.onerror handler handles the failure case.


A number representing the maximum width of the screenshot in device pixels.
A number representing the maximum height of the screenshot in device pixels.
mimeType Optional
A MIME type specifying the format of the image to be returned; if not specified, the default used is image/jpeg. Use image/png to capture the alpha channel of the rendered result by returning a PNG-format image. This lets you get a transparent background for the content <iframe>.


var browser = document.querySelector('iframe');

var request = browser.getScreenshot(100, 100);

request.onsuccess = function() {
  var blob = request.result;
  var url = URL.createObjectURL(blob);


Not part of any specification.

Browser compatibility

Supported since Firefox 47, in chrome code only. Removed completely in Firefox 65.

Unlikely ever to be supported in other browsers.

See also