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.

FileSystemEntry FileSystemDirectoryEntry

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) {
    { create: true },
    (directoryEntry) => {
      //directoryEntry.isFile === false
      //directoryEntry.isDirectory === true
      // === 'Documents'
      //directoryEntry.fullPath === '/Documents'

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

Instance properties

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

Instance methods

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.


File and Directory Entries API
# api-directoryentry

Browser compatibility

BCD tables only load in the browser

See also