This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Note: This feature is available in Web Workers.
The readyState read-only property of the FileReader interface provides the current state of the reading operation. This will be one of the states: EMPTY, LOADING, or DONE.
A number which is one of the three possible state constants defined on the FileReader interface:
FileReader.EMPTY (0)Reader has been created, but none of the read methods have been called yet.
FileReader.LOADING (1)A read method has been called. A File or Blob is being read, and no error has occurred yet.
FileReader.DONE (2)The read operation is complete. This could mean that: the entire File or Blob has been read into memory, a file read error occurred, or abort() was called and the read was cancelled.
const reader = new FileReader();
console.log("EMPTY", reader.readyState); // readyState will be 0
reader.readAsText(blob);
console.log("LOADING", reader.readyState); // readyState will be 1
reader.onloadend = () => {
console.log("DONE", reader.readyState); // readyState will be 2
};
| Specification |
|---|
| File API> # dom-filereader-readystate> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
readyState |
6 | 12 | 3.6 | 11 | 6 | 18 | 32 | 11 | 6 | 1.0 | 3 | 6 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readyState