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

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 read-only isDirectory property of the FileSystemEntry interface is true if the entry represents a directory (meaning it's a FileSystemDirectoryEntry) and false if it's not.

You can also use isFile to determine if the entry is a file.

You should not assume that any entry which isn't a directory is a file or vice-versa. There are other types of file descriptors on many operating systems. Be sure to use both isDirectory and isFile as needed to ensure that the entry is something you know how to work with.


var isDirectory = FileSystemEntry.isDirectory;


A Boolean indicating whether or not the FileSystemEntry is a directory.


This example shows how this property might be used to determine whether to process the entry as a directory or file. If the entry is neither, an error handler is called with an appropriate message.

if (entry.isDirectory) {
} else if (entry.isFile) {
} else {
  displayErrorMessage("Unsupported file system entry specified.");


Specification Status Comment
File and Directory Entries API
The definition of 'isDirectory' in that specification.
Draft Initial specification.

This API has no official W3C or WHATWG specification.

Browser compatibility

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Chrome Full support 13Edge No support NoFirefox Full support 50IE No support NoOpera No support NoSafari No support NoWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 50Opera Android No support NoSafari iOS No support NoSamsung Internet Android ?


Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.

See also