SingleFile

Save a complete page into a single HTML file

Getting started - Additional notes - Options description - Technical notes - Known issues - Troubleshooting unknown issues - Contributors
  1. Getting started
    • Wait until the page is fully loaded, you may need to scroll down the entire page to be sure all elements are loaded.
    • Click on the SingleFile button in the extension toolbar to save the page.
  2. Additional notes
    • To save multiple tabs, select them first and click on the SingleFile button .
    • Open the context menu by right-clicking the SingleFile button in the extension toolbar or on the webpage. It allows you to save:
      • the current tab,
      • or the selected content,
      • or the selected frame.
    • You can also process multiple tabs in one click and save:
      • the selected tabs,
      • or the unpinned tabs,
      • or all the tabs.
    • The context menu also allows you to activate the auto-save of:
      • the current tab,
      • or the unpinned tabs,
      • or all the tabs.
    • With auto-save active, pages are automatically saved every time after being loaded (or before being unloaded if not).
    • Right-click on the SingleFile button and select "Options" to open the options page.
    • The default save folder is the download folder configured in your browser, cf. about:preferences in Firefox and chrome://settings in Chrome.
    • You can use the shortcut Ctrl+Shift+X to save current or selected tabs in Chrome. Go to chrome://extensions/shortcuts to change it.
  3. Options description

    You can customize SingleFile through the options page. Right-click on SingleFile button in the browser toolbar and select "Options"/"Manage extension" in the context menu to open the options page.

    User interface

    • add entry in the context menu of the webpage

      Check this option to display an entry for SingleFile in the context menu of the webpage. The context menu of the SingleFile button in the extension toolbar is displayed wether this option is checked or not.

      It is recommended to check this option

    • overlay a shadow on the page during processing

      Check this option to overlay a shadow on the page when SingleFile is retrieving page resources. This reminds you that you should not close the tab.

      It is recommended to check this option

    • display an infobar when viewing a saved page

      Check this option to display the ℹ button at the top right of the page when viewing a saved page. By clicking this icon, you can get more information about the saved date and open the original URL.

      It is recommended to check this option

    File name

    • template

      The template allows you to customize the file name of saved pages. You can use any valid character and "/" to create sub-folders (with the option "save pages in background" active). You can also use the variables in the list below anywhere in the template.

      • {page-title}: the title of the page
      • {page-language}: the language of the page
      • {page-description}: the description of the page
      • {page-author}: the author of the page
      • {page-creator}: the creator of the page
      • {page-publisher}: the publisher of the page
      • {datetime-iso}: the save date and time in the ISO format (e.g. "2018-09-15T22_38_26_317Z")
      • {datetime-utc}: the save date and time in UTC format (e.g. "Sat, 15 Sep 2018 22_38_26 GMT")
      • {datetime-locale}: the localized value of the date and time (e.g. "9_16_2018, 12_54_31 AM")
      • {date-iso}: the save date in the ISO format (e.g. "2018-09-15")
      • {date-locale}: the localized value of the save date (e.g. "16_09_2018")
      • {time-iso}: the save time in the ISO format (e.g. "22_38_26_317")
      • {time-locale}: the localized value of the save time (e.g. "00_38_26")
      • {day-utc}: the day of the save date in UTC format (e.g. "15")
      • {day-locale}: the localized value of the day (e.g. "15")
      • {month-utc}: the month of the save date in UTC format (e.g. "9")
      • {month-locale}: the localized value of the month (e.g. "9")
      • {year-utc}: the year of the save date in UTC format (e.g. "2018")
      • {year-locale}: the localized value of the year (e.g. "2018")
      • {url-href}: the URL of the page (e.g. "http_example.com")
      • {url-pathname}: the path name of the URL (e.g. "category_index.html")
      • {url-last-segment}: the last part of the pathname (without the extension) or the host if not found (e.g. "index")
      • {url-protocol}: the protocol of the URL (e.g. "https")
      • {url-host}: the host name + the port of the URL (e.g. "example.com_8080")
      • {url-hostname}: the host name of the URL (e.g. "example.com")
      • {url-port}: the port of the URL (e.g. "8080")
      • {url-username}: the user name of the URL (e.g. "john_doe")
      • {url-password}: the password of the URL (e.g. "qwerty123")
      • {url-search}: the search string of the URL (e.g. "filter-date=today")
      • {url-hash}: the hash of the URL (e.g. "chapter-2")
      • {tab-id}: the unique identifier of the tab (e.g. "326")
      • {digest-sha-256}: the SHA-256 hash value of the entire page content (e.g. e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855)
      • {digest-sha-384}: the SHA-384 hash value of the entire page content
      • {digest-sha-512}: the SHA-512 hash value of the entire page content

      Note that invalid characters are automatically transformed and collapsed to underscores. File names cannot exceed 192 characters and are truncated if longer. The invalid characters are: [, ~, \, ?, %, *, :, |, ", <, >, and control characters from 0 to 31 in the ASCII table.

      Template Examples

      • {page-title} ({date-iso} {time-locale}).html will produce filenames like "Introduction to SingleFile (2018-09-15 11_06_03 PM).html" for a page having "Introduction to SingleFile" as title.
      • archives/{url-last-segment} - {date-iso} will produce filenames like "welcome - 2018-09-15" for a page hosted on https://example.com/welcome.html. The saved files will be saved in the sub-directory "archives".
      • archives/{year-locale}/{month-locale}/{day-locale}/{page-title}.html will produce filenames like "Introduction to SingleFile.html" stored into 3 sub-directories in the "archives" folder, one for each part of the save date (e.g. "2018/9/15/Introduction to SingleFile.html").
    • open the "Save as" dialog to confirm the file name

      Check this option to display the "Save as" dialog in order to confirm the file name before saving the page. If the option "save pages in background" is unchecked then a prompt dialog will be displayed instead of the "Save as" dialog.

      It is recommended to uncheck this option

    HTML content

    • compress HTML content

      Check this option to remove all HTML comments, and unneeded spaces or returns. This helps to reduce the size of the file without altering the document.

      It is recommended to check this option

    • remove HTML imports

      Check this option to remove all link elements used to import HTML documents. This can help to reduce the size of the file without altering the document most of the time.

      It is recommended to check this option

    • remove hidden elements

      Check this option to remove all hidden elements. This option can help to reduce the size of the file without altering the document.

      It is recommended to check this option

    • remove frames

      Check this option to remove all frame and iframe elements. This can considerably reduce the size of the file without altering the document most of the time. Checking this option may also decrease the time needed to save a page

    Images

    • group duplicate images together

      Check this option to avoid saving multiple times duplicate images. Checking this this option should not alter the document in modern browsers and can considerably reduce the size of the file. Checking this this option option may also increase the CPU consumption and the time needed to save a page

      It is recommended to check this option

    • save deferred images

      Check this option to save all the deferred images that are not displayed. This may help to save all the images without scrolling the page. This feature does its best effort and is not guaranteed to work on all sites.

      It is recommended to check this option

    • remove images for alternative screen resolutions

      Check this option to remove images that are alternatives in lower and/or higher resolutions to the ones displayed by default. Checking this this option can considerably reduce the size of the file in some cases.

    Stylesheets

    • compress CSS content

      Check this option to minify CSS stylesheets. This the size of the file without altering the document. It also prevents images from being saved several times by using CSS variables.

      It is recommended to check this option

    • remove unused styles

      Check this option to remove all CSS rules and styles that do not match any element. Checking this option should not alter the document and can considerably reduce the size of the file. Checking this option may also increase the CPU consumption and the time needed to save a page.

      It is recommended to check this option

    • remove alternative fonts to woff/otf and unused fonts

      Check this option to remove fonts that are alternatives to the Web Open Font or OpenType formats, and CSS fonts that are not used. Checking this this option should not alter the document and can considerably reduce the size of the file.

      It is recommended to check this option

    • remove stylesheets for alternative devices to screens

      Check this option to remove stylesheets that are not used for the screen display like stylesheets for print preview and speech synthesizers. Checking this this option can help to reduce the size of the file.

    Other resources

    • remove scripts

      Check this option to remove all scripts. Unchecking this option may alter the document and lead to security issues.

      It is recommended to check this option

    • remove video sources

      Check this option to empty the "src" attribute of all video elements.

      It is recommended to check this option

    • remove audio sources

      Check this option to empty the "src" attribute of all audio elements.

      It is recommended to check this option

    Auto-save

    • auto-save after page load or on page unload

      Check this option to auto-save pages after being loaded. If you browse to another page before the page is fully loaded then the page will be saved just before being unloaded. With this option active, you are guaranteed pages will always be saved but some frame contents may be missing (if you unchecked "remove frames") when pages are saved before being unloaded.

    • auto-save after page load

      Check this option to auto-save pages after being loaded.

    • auto-save on page unload

      Check this option to auto-save pages before being unloaded instead of saving pages after being loaded. With this option active, you are guaranteed pages will always be saved but some frame contents may be missing (if you unchecked "remove frames").

    • auto-save waiting delay after load (sec.)

      Specify the amount of time in seconds to wait before saving a page when the "auto-save on page load or on page unload" or "auto-save on page load" is checked.

    Misc.

    • save pages in background

      Uncheck this option if you get invalid file names like "37bec68b-446a-46a5-8642-19a89c231b46.html" or interrupted downloads when saving pages. Unchecking this option prevent saving files in sub-directories.

      It is recommended to check this option

    • display stats in the console after processing

      Check this option to display stats about processing in the JavaScript developer tools of your browser. Checking this option may increase the CPU consumption and the time needed to save a page.

      It is recommended to uncheck this option

    • set a maximum size for embedded resources (Mb)

      Specify the maximum size of embedded resources (i.e. images, stylesheets, scripts and iframes) in megabytes.

    • save raw page

      Check this option to save the page without interpreting JavaScript. Checking this option may alter the document.

      It is recommended to uncheck this option

    Form buttons

    • Reset

      Reset all options to their default values.

  4. Technical notes
    • All images are converted into base64.
    • All resources except frame contents are injected in the document using data URI scheme.
    • Frame contents are injected as text in the document by using the srcdoc attribute.
  5. Known issues
    • All browsers
      • For security reasons, you cannot save pages hosted on https://chrome.google.com or https://addons.mozilla.org.
      • The last saved path cannot be remembered by default. To circumvent this limitation, disable the option "Save pages in background".
    • Chrome/Opera
      • You must enable the option "Allow access to file URLs" in the extension page to display the infobar when viewing a saved page, or to save a page stored on the filesystem.
    • Firefox
      • You cannot save selected tabs via the context menu because it is not possible to select multiple tabs.
    • Edge
      • The file name looks like "4e5a13fd-6638-4a37-a34b-a3c104ac66b1".
  6. Troubleshooting unknown issues

    Please follow these steps if you find an unknown issue:

    • Reset SingleFile options.
    • If resetting options did not fix the issue, try to disable all other extensions to see if there is a conflict.
    • If there is a conflict then try to determine against which extension(s).
    • Please report the issue here with a short description describing how to reproduce the issue, Browser version, OS name and version.

    Suggestions are welcome :)

  7. Contributors