* Skip to main content 
  * Skip to search 
  * Skip to select language 

[ MDN Web Docs  ](/en-US/) Open main menu

  * References  [ References ](/en-US/docs/Web)
    * [ Overview / Web Technology  Web technology reference for developers  ](/en-US/docs/Web)
    * [ HTML  Structure of content on the web  ](/en-US/docs/Web/HTML)
    * [ CSS  Code used to describe document style  ](/en-US/docs/Web/CSS)
    * [ JavaScript  General-purpose scripting language  ](/en-US/docs/Web/JavaScript)
    * [ HTTP  Protocol for transmitting web resources  ](/en-US/docs/Web/HTTP)
    * [ Web APIs  Interfaces for building web applications  ](/en-US/docs/Web/API)
    * [ Web Extensions  Developing extensions for web browsers  ](/en-US/docs/Mozilla/Add-ons/WebExtensions)
    * [ Web Technology  Web technology reference for developers  ](/en-US/docs/Web)
  * Guides  [ Guides ](/en-US/docs/Learn)
    * [ Overview / MDN Learning Area  Learn web development  ](/en-US/docs/Learn)
    * [ MDN Learning Area  Learn web development  ](/en-US/docs/Learn)
    * [ HTML  Learn to structure web content with HTML  ](/en-US/docs/Learn/HTML)
    * [ CSS  Learn to style content using CSS  ](/en-US/docs/Learn/CSS)
    * [ JavaScript  Learn to run scripts in the browser  ](/en-US/docs/Learn/JavaScript)
    * [ Accessibility  Learn to make the web accessible to all  ](/en-US/docs/Web/Accessibility)
  * Plus  [ Plus ](/en-US/plus)
    * [ Overview  A customized MDN experience  ](/en-US/plus)
    * [ AI Help (beta)  Get real-time assistance and support  ](/en-US/plus/ai-help)
    * [ Updates  All browser compatibility updates at a glance  ](/en-US/plus/updates)
    * [ Documentation  Learn how to use MDN Plus  ](/en-US/plus/docs/features/overview)
    * [ FAQ  Frequently asked questions about MDN Plus  ](/en-US/plus/docs/faq)
  * [ Curriculum  New  ](/en-US/curriculum/)
  * [ Blog ](/en-US/blog/)
  * [ Play ](/en-US/play)
  * [ AI Help  Beta  ](/en-US/plus/ai-help)

Search MDN  Clear search input  Search

Theme

  * [ Log in ](/users/fxa/login/authenticate/?next=%2Fen-US%2Fdocs%2FWeb%2FAPI%2FFile_API)
  * [ Sign up for free  ](/users/fxa/login/authenticate/?next=%2Fen-US%2Fdocs%2FWeb%2FAPI%2FFile_API)

  1. [ References  ](/en-US/docs/Web)
  2. [ Web APIs  ](/en-US/docs/Web/API)
  3. [ File API  ](/en-US/docs/Web/API/File_API)

Article Actions

  * English (US) 

Filter sidebar  Clear filter input

##  In this article

  * Concepts and Usage 
  * Interfaces 
  * Examples 
  * Specifications 
  * See also 

  1. **_[ File API ](/en-US/docs/Web/API/File_API) _ **
  2. Guides 
    1. [ Using files from web applications ](/en-US/docs/Web/API/File_API/Using_files_from_web_applications)
  3. Interfaces 
    1. [ ` Blob ` ](/en-US/docs/Web/API/Blob)
    2. [ ` File ` ](/en-US/docs/Web/API/File)
    3. [ ` FileList ` ](/en-US/docs/Web/API/FileList)
    4. [ ` FileReader ` ](/en-US/docs/Web/API/FileReader)
    5. [ ` FileReaderSync ` ](/en-US/docs/Web/API/FileReaderSync)

##  In this article

  * Concepts and Usage 
  * Interfaces 
  * Examples 
  * Specifications 
  * See also 

#  File API

**Note:** This feature is available in [ Web Workers ](/en-
US/docs/Web/API/Web_Workers_API) .

##  Concepts and Usage

The File API enables web applications to access files and their contents.

Web applications can access files when the user makes them available, either
using a [ file ` <input> ` element ](/en-US/docs/Web/HTML/Element/input/file)
or [ via drag and drop ](/en-US/docs/Web/API/DataTransfer/files) .

Sets of files made available in this way are represented as [ ` FileList `
](/en-US/docs/Web/API/FileList) objects, which enable a web application to
retrieve individual [ ` File ` ](/en-US/docs/Web/API/File) objects. In turn [
` File ` ](/en-US/docs/Web/API/File) objects provide access to metadata such
as the file's name, size, type, and last modified date.

[ ` File ` ](/en-US/docs/Web/API/File) objects can be passed to [ ` FileReader
` ](/en-US/docs/Web/API/FileReader) objec