The HTMLMediaElement method canPlayType() reports how likely it is that the current browser will be able to play media of a given MIME type.

Note: This feature is not available in Web Workers.


canPlayResponse = audioOrVideo.canPlayType(mediaType);


A DOMString containing the MIME type of the media.

Return value

A DOMString indicating how likely it is that the media can be played. The string will be one of the following values:

Media of the type indicated by the mediaType parameter is probably playable on this device.
Not enough information is available to determine for sure whether or not the media will play until playback is actually attempted.
"" (empty string)
Media of the given type definitely can't be played on the current device.


var obj = document.createElement('video');
console.log(obj.canPlayType('video/mp4')); // "maybe"


Specification Status Comment
HTML Living Standard
The definition of 'canplaytype' in that specification.
Living Standard
The definition of 'HTMLMediaElement.canplaytype' in that specification.
Recommendation Initial definition.

Browser compatibility

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
canPlayType()Chrome Full support YesEdge Full support 12Firefox Full support 3.5
Full support 3.5
Notes Prior to Firefox 28, canPlayType() returned probably when asked about WebM audio or video files without the codecs parameter. Since multiple codecs are supported, this is not enough information to determine if a file can be played, so maybe is now correctly returned.
IE Full support 9Opera Full support YesSafari Full support 6WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes


Full support  
Full support
See implementation notes.
See implementation notes.

See also