This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

Obsolete since Gecko 7.0 (Firefox 7.0 / Thunderbird 7.0 / SeaMonkey 2.4)

This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.


The getAsText method provides the file's data interpreted as text using a given encoding.

Note: This method is obsolete; you should use the FileReader method readAsText() instead.


var str = instanceOfFile.getAsText(encoding);


A string indicating the encoding to use for the returned data. If this string is empty, UTF-8 is assumed.


A string containing the file's data interpreted as text in the specified encoding.


// fileInput is a HTMLInputElement: <input type="file" id="myfileinput" multiple>
var fileInput = document.getElementById("myfileinput");

// files is a FileList object (similar to NodeList)
var files = fileInput.files;

// object for allowed media types
var accept = {
  binary : ["image/png", "image/jpeg"],
  text   : ["text/plain", "text/css", "application/xml", "text/html"]

var file;

for (var i = 0; i < files.length; i++) {
  file = files[i];

  // if file type could be detected
  if (file !== null) {
    if (accept.text.indexOf(file.mediaType) > -1) {
      // file is of type text, which we accept
      // make sure it's encoded as utf-8
      var data = file.getAsText("utf-8");
      // modify data with string methods

    } else if (accept.binary.indexOf(file.mediaType) > -1) {
      // binary


Not part of any specification.

See also