The HTMLMediaElement.canPlayType() method determines whether the specified media type can be played back.

Note: This feature is not available in Web Workers.


str = audioOrVideo.canPlayType(mediaType);


A DOMString containing the MIME type of the media.

Return value

A String. Possible values are:

  • 'probably': The specified media type appears to be playable.
  • 'maybe': Cannot tell if the media type is playable without playing it.
  • '' (empty string): The specified media type definitely cannot be played.

Note: Previously canPlayType('video/webm') returned 'probably'. Starting with Gecko 28 (Firefox 28 / Thunderbird 28 / SeaMonkey 2.25 / Firefox OS 1.3), it returns 'maybe'. (bug 884275)


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


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

Browser compatibility

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) 3.5 (1.9.1) [1] 9 ? ?
Feature Android Edge Firefox Mobile (Gecko) Firefox OS (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) ? (Yes) (Yes)

[1] The NETWORK_LOADED state was removed to align with the HTML spec in Gecko 2.0 (Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1).

See also

Document Tags and Contributors

 Contributors to this page: erikadoyle, markg
 Last updated by: erikadoyle,