The MediaRecorder.mimeType read-only property returns the MIME type that is being used as the recording container when it was created. This is the file format of the file that would result from writing all of the recorded data to disk. Keep in mind, of course, that the file format and the codecs associated with the individual tracks are different things entirely; writing tracks that work just fine in a WebM video into an MP4 wrapper may not result in a file that plays everywhere you want  it to.


var mimeType = MediaRecorder.mimeType


The MIME type being used as the container format for the recorded media, in DOMString form.



if (navigator.mediaDevices) {
  console.log('getUserMedia supported.');

  var constraints = { audio: true, video: true };
  var chunks = [];

    .then(function(stream) {
      var options = {
        audioBitsPerSecond : 128000,
        videoBitsPerSecond : 2500000,
        mimeType : 'video/mp4'
      var mediaRecorder = new MediaRecorder(stream,options);
      m = mediaRecorder;

      m.mimeType; // would return 'video/mp4'
    .catch(function(error) {


Specification Status Comment
MediaStream Recording
The definition of 'MediaRecorder.mimeType' in that specification.
Working Draft Initial definition

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support471 2 ?25 ? ? ?
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support No No ?25 ? ? No

1. Currently only video is supported, not audio.

2. From version 47: this feature is behind the Experimental Web Platform features preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.

See also

Document Tags and Contributors

Contributors to this page: lucian95, Jib, Sheppy, j1mr10rd4n, jpmedley, chrisdavidmills
Last updated by: lucian95,