FileReader — asynchronously read a File or Blob

Inherits from



A FileReader defines an asynchronous API for reading the content of a File or any Blob. To read a file, follow these steps:

  • Create a FileReader with the FileReader() constructor.

  • Define whichever event handlers you need.

  • Pass your File or Blob object to one of the four read methods.

  • When your onload handler is triggered, the file contents are available as the result property. Or, if the onerror handler is triggered, the error property refers to a FileError object that provides more information.

  • When the read is complete, you can reuse the FileReader object or discard it and create new ones as needed.

See FileReaderSync for a synchronous API that you can use in worker threads.


new FileReader()

Create a new FileReader object with the FileReader() constructor, which expects no arguments.


These constants are the values of the readyState property:

unsigned short EMPTY = 0

No read method has been called yet.

unsigned short LOADING = 1

A read is in progress.

unsigned short DONE = 2

A read has completed successfully or with an error.


readonly FileError error

If an error occurs during a read, this property will refer to a FileError that describes the error.

readonly unsigned short readyState

This property describes the current state of the FileReader. Its value will be one of the three constants listed above.

readonly any result

If the read completed successfully, this property will hold the File ...

Get JavaScript: The Definitive Guide, 6th Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.