Offscreen canvas
Newly available since 2023-03-27 (baseline low)
The OffscreenCanvas
API provides a canvas that can be drawn to off screen, with no dependencies on the DOM, which can be used to run heavy rendering operations inside a worker context.
Compatibility (view on caniuse.com)
- Chrome 80 Released on 2020-02-04
- Chrome Android 80 Released on 2020-02-04
- Edge 80 Released on 2020-02-07
- Firefox 105 Released on 2022-09-20
- Firefox for Android 105 Released on 2022-09-20
- Safari 16.4 Released on 2023-03-27
- Safari on iOS 16.4 Released on 2023-03-27
MDN docs
BCD data
- api.HTMLCanvasElement.transferControlToOffscreen
- api.OffscreenCanvas
- api.OffscreenCanvas.OffscreenCanvas
- api.OffscreenCanvas.convertToBlob
- api.OffscreenCanvas.getContext
- api.OffscreenCanvas.getContext.2d_context
- api.OffscreenCanvas.height
- api.OffscreenCanvas.transferToImageBitmap
- api.OffscreenCanvas.width
- api.OffscreenCanvasRenderingContext2D
- api.OffscreenCanvasRenderingContext2D.arc
- api.OffscreenCanvasRenderingContext2D.arcTo
- api.OffscreenCanvasRenderingContext2D.beginPath
- api.OffscreenCanvasRenderingContext2D.bezierCurveTo
- api.OffscreenCanvasRenderingContext2D.canvas
- api.OffscreenCanvasRenderingContext2D.clearRect
- api.OffscreenCanvasRenderingContext2D.clip
- api.OffscreenCanvasRenderingContext2D.closePath
- api.OffscreenCanvasRenderingContext2D.createImageData
- api.OffscreenCanvasRenderingContext2D.createLinearGradient
- api.OffscreenCanvasRenderingContext2D.createPattern
- api.OffscreenCanvasRenderingContext2D.createRadialGradient
- api.OffscreenCanvasRenderingContext2D.direction
- api.OffscreenCanvasRenderingContext2D.drawImage
- api.OffscreenCanvasRenderingContext2D.ellipse
- api.OffscreenCanvasRenderingContext2D.fill
- api.OffscreenCanvasRenderingContext2D.fillRect
- api.OffscreenCanvasRenderingContext2D.fillStyle
- api.OffscreenCanvasRenderingContext2D.fillText
- api.OffscreenCanvasRenderingContext2D.font
- api.OffscreenCanvasRenderingContext2D.getImageData
- api.OffscreenCanvasRenderingContext2D.getLineDash
- api.OffscreenCanvasRenderingContext2D.globalAlpha
- api.OffscreenCanvasRenderingContext2D.globalCompositeOperation
- api.OffscreenCanvasRenderingContext2D.imageSmoothingEnabled
- api.OffscreenCanvasRenderingContext2D.isPointInPath
- api.OffscreenCanvasRenderingContext2D.isPointInStroke
- api.OffscreenCanvasRenderingContext2D.lineCap
- api.OffscreenCanvasRenderingContext2D.lineDashOffset
- api.OffscreenCanvasRenderingContext2D.lineJoin
- api.OffscreenCanvasRenderingContext2D.lineTo
- api.OffscreenCanvasRenderingContext2D.lineWidth
- api.OffscreenCanvasRenderingContext2D.measureText
- api.OffscreenCanvasRenderingContext2D.miterLimit
- api.OffscreenCanvasRenderingContext2D.moveTo
- api.OffscreenCanvasRenderingContext2D.putImageData
- api.OffscreenCanvasRenderingContext2D.quadraticCurveTo
- api.OffscreenCanvasRenderingContext2D.rect
- api.OffscreenCanvasRenderingContext2D.resetTransform
- api.OffscreenCanvasRenderingContext2D.restore
- api.OffscreenCanvasRenderingContext2D.rotate
- api.OffscreenCanvasRenderingContext2D.save
- api.OffscreenCanvasRenderingContext2D.scale
- api.OffscreenCanvasRenderingContext2D.setLineDash
- api.OffscreenCanvasRenderingContext2D.setTransform
- api.OffscreenCanvasRenderingContext2D.shadowBlur
- api.OffscreenCanvasRenderingContext2D.shadowColor
- api.OffscreenCanvasRenderingContext2D.shadowOffsetX
- api.OffscreenCanvasRenderingContext2D.shadowOffsetY
- api.OffscreenCanvasRenderingContext2D.stroke
- api.OffscreenCanvasRenderingContext2D.strokeRect
- api.OffscreenCanvasRenderingContext2D.strokeStyle
- api.OffscreenCanvasRenderingContext2D.strokeText
- api.OffscreenCanvasRenderingContext2D.textAlign
- api.OffscreenCanvasRenderingContext2D.textBaseline
- api.OffscreenCanvasRenderingContext2D.transform
- api.OffscreenCanvasRenderingContext2D.translate
- api.OffscreenCanvas.getContext.bitmaprenderer_context
- api.OffscreenCanvasRenderingContext2D.getTransform