MDN wants to learn about developers like you:


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.

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.

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.

The FileSystemFileEntry interface's method createWriter() returns a FileWriter object which can be used to write data into the file represented by the directory entry.


FileSystemFileEntry.createWriter(successCallback[, errorCallback]);


A callback function which is called when the FileWriter has been created successfully; the FileWriter is passed into the callback as the only parameter.
errorCallback Optional
If provided, this must be a method which is caled when an error occurs while trying to create the FileWriter. This callback receives as input a FileError object describing the error.

Return value



This example establishes a method, writeToFileEntry(), which outputs a text string to the file corresponding to the passed-in directory entry.

function writeToFileEntry(entry, text) {
  entry.createWriter(function(fileWriter)) {
    let data = Blob([text], { type: "text/plain" });

  }, function(fileError) {
    /* do whatever to handle the error */

The success callback for the createWriter() call takes the text which was passed in and creates a new Blob object of type text/plain that contains the passed text. This blob is then output to the FileWriter object to be written to the file.


Specification Status Comment
File and Directory Entries API
The definition of 'createWriter()' in that specification.
Editor's Draft Initial specification.

This API has no official W3C or WHATWG specification.

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 13 webkit No support No support[1] No support No support No support
Feature Android Chrome for Android Edge Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support No support 0.16webkit No support No support[1] No support No support No support

[1] While the createWriter() method exists in Firefox 50, it is not supported, and immediately reports an NS_ERROR_DOM_SECURITY_ERR error to the error callback.  The method was removed entirely in Firefox 52.

See also

Document Tags and Contributors

 Contributors to this page: Sheppy
 Last updated by: Sheppy,