The Blob() constructor returns a new Blob object. The content of the blob consists of the concatenation of the values given in the parameter array.


var aBlob = new Blob( array[, options]);


  • array is an Array of ArrayBuffer, ArrayBufferView, Blob, DOMString objects, or a mix of any of such objects, that will be put inside the Blob. DOMStrings are encoded as UTF-8.
  • options is an optional BlobPropertyBag dictionary which may specify the following two attributes:
    • type, with a default value of "", that represents the MIME type of the content of the array that will be put in the blob.
    • endings, with a default value of "transparent", that specifies how strings containing the line ending character \n are to be written out. It is one of the two values: "native", meaning that line ending characters are changed to match host OS filesystem convention, or "transparent", meaning that endings are stored in the blob without change.


var aFileParts = ['<a id="a"><b id="b">hey!</b></a>']; // an array consisting of a single DOMString
var oMyBlob = new Blob(aFileParts, {type : 'text/html'}); // the blob


Specification Status Comment
File API
The definition of 'Blob()' in that specification.
Working Draft Initial definition.

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support20 ?13110128
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support ? ? ?141 ? ? ?

1. Before Firefox 16, the second parameter, when set to null or undefined, leads to an error instead of being handled as an empty dictionary.

See also

  • The deprecated BlobBuilder which this constructor replaces.


Document Tags and Contributors

Contributors to this page: fscholz, leoo, SphinxKnight, The_8472, teoli, johngellene, timrau
Last updated by: fscholz,