ImageCapture() constructor

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The ImageCapture() constructor creates a new ImageCapture object.


new ImageCapture(videoTrack)



A MediaStreamTrack from which the still images will be taken. This can be any source, such as an incoming stream of a video conference, a playing movie, or the stream from a webcam.

Return value

A new ImageCapture object which can be used to capture still frames from the specified video track.


The following example shows how to use a call to MediaDevices.getUserMedia() to retrieve the MediaStreamTrack needed by the ImageCapture() constructor.

 navigator.mediaDevices.getUserMedia({video: true})
  .then((mediaStream) => {
    document.querySelector('video').srcObject = mediaStream
    const track = mediaStream.getVideoTracks()[0];
    imageCapture = new ImageCapture(track);
  .catch((error) => console.error(error));


MediaStream Image Capture
# dom-imagecapture-imagecapture

Browser compatibility

BCD tables only load in the browser