This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The FileSystemDirectoryEntry interface of the File and Directory Entries API represents a directory in a file system. It provides methods which make it possible to access and manipulate the files in a directory, as well as to access the entries within the directory.

Basic concepts

You can create a new directory by calling getDirectory(). If you want to create subdirectories, create each child directory in sequence. If you try creating a directory using a full path that includes parent directories that do not exist yet, an error is returned. So create the hierarchy by recursively adding a new path after creating the parent directory.


In the following code snippet, we create a directory called "Documents."

// Taking care of the browser-specific prefixes.
window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
window.directoryEntry = window.directoryEntry || window.webkitDirectoryEntry;


function onFs(fs){
  fs.root.getDirectory('Documents', {create:true}, function(directoryEntry){
    //directoryEntry.isFile === false
    //directoryEntry.isDirectory === true
    // === 'Documents'
    //directoryEntry.fullPath === '/Documents'

    }, onError);


// Opening a file system with temporary storage
window.requestFileSystem(TEMPORARY, 1024*1024 /*1MB*/, onFs, onError);


This interface has no properties of its own, but inherits properties from its parent interface, FileSystemEntry.


This interface inherits methods from its parent interface, FileSystemEntry.

Creates a FileSystemDirectoryReader object which can be used to read the entries in this directory.
Returns a FileSystemDirectoryEntry object representing a directory located at a given path, relative to the directory on which the method is called.
Returns a FileSystemFileEntry object representing a file located within the directory's hierarchy, given a path relative to the directory on which the method is called.

Obsolete methods

Deletes a directory and all of its contents, including the contents of subdirectories. This has been removed from the spec.


Browser compatibility

BCD tables only load in the browser

See also