This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for the proper prefixes to use in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the spec changes.

The OffscreenCanvas.toBlob() method creates a Blob object representing the image contained in the canvas.


Promise<Blob> OffscreenCanvas.toBlob(type, encoderOptions);


type Optional
A DOMString indicating the image format. The default type is image/png.
encoderOptions Optional
A Number between 0 and 1 indicating image quality if the requested type is image/jpeg or image/webp. If this argument is anything else, the default value for image quality is used. Other arguments are ignored.

Return value

A Promise returning a Blob object representing the image contained in the canvas.


var offscreen = new OffscreenCanvas(256, 256);
var gl = offscreen.getContext("webgl");

// ... some drawing using the gl context ...

offscreen.toBlob().then(function(blob) {

// Blob { size: 334, type: "image/png" }


Currently drafted as a proposal: OffscreenCanvas.

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support Not supported 46 (46) [1] Not supported Not supported Not supported
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support Not supported 46.0 (46) [1] Not supported Not supported Not supported

[1] This feature is behind a feature preference setting. In about:config, set gfx.offscreencanvas.enabled to true.

See also

Document Tags and Contributors

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