Encrypted Media Extensions API

This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage 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 specification changes.

The EncryptedMediaExtenstions API provides interfaces for controlling the playback of content which is subject to a digital restrictions management scheme.


Contains the content and related data when the content decryption module (CDM) generates a message for the session.
Represents a set of keys that an associated HTMLMediaElement can use for decryption of media data during playback.
Represents a context for message exchange with a content decryption module (CDM).
Is a read-only map of media key statuses by key IDs. 
Provides access to a Key System for decryption and/or a content protection provider.
Provides configuration information about the media key system.


Specification Status Comment
Encrypted Media Extensions Working Draft Initial definition

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support

35.0 (prefixed old version; Clear Key and Widevine)


38.0 (38.0) (Primetime (Windows-only) and Clear Key; MP4 only)

47.0 (47.0) (Widevine (Windows and Mac); MP4 only)

11 (Windows 8.1+ only; prefixed old version; PlayReady) 31 (Clear Key and Widevine)

7.0 (prefixed old version of API without matching MSE support; FairPlay Streaming)

8.0 (prefixed and usable with MSE)

Feature Android Android Webview Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support No support 43.0 ? ? ? ? ? 42.0

Document Tags and Contributors

 Contributors to this page: joeyparrish, Hsivonen, teoli, cvrebert, Sebastianz, jpmedley, kscarfone
 Last updated by: joeyparrish,