Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

The showSaveFilePicker() method of the Window interface shows a file picker that allows a user to save a file. Either by selecting an existing file, or entering a name for a new file.




options Optional

An optional object containing options, which are as follows:

  • excludeAcceptAllOption: A Boolean. Default false. By default the picker should include an option to not apply any file type filters (instigated with the type option below). Setting this option to true means that option is not available.
  • suggestedName: A String. The suggested file name.
  • types: An Array of allowed file types to save. Each item is an object with the following options:
    • description: An optional description of the category of files types allowed.
    • accept: An Object with the keys set to the MIME type and the values an Array of file extensions (see below for an example).

Return value



Thrown if the user dismisses the file picker without selecting or inputting a file, or if the user agent deems any selected files too sensitive or dangerous.


The following function shows a file picker, with text files highlighted for selection.

function getNewFileHandle() {
  const opts = {
    types: [{
      description: 'Text file',
      accept: {'text/plain': ['.txt']},
  return window.showSaveFilePicker(opts);


File System Access
# api-showsavefilepicker

Browser compatibility

BCD tables only load in the browser

See also