gildas-lormeau

    gildas-lormeau/SingleFile

    Web Extension for saving a faithful copy of a complete web page in a single HTML file

    cli
    testing
    annotations
    archive
    archiver
    auto-save
    browser
    chrome
    chrome-extension
    firefox
    firefox-addon
    javascript
    offline-reading
    osint
    puppeteer
    screenshot
    selenium
    self-extracting
    self-extracting-zip
    snapshot
    web-clipper
    JavaScript
    AGPL-3.0
    20.0K stars
    1.3K forks
    20.0K watching
    Updated 2/27/2026
    View on GitHub
    Backblaze Advertisement

    Loading star history...

    Health Score

    75

    Weekly Growth

    +0

    +0.0% this week

    Contributors

    1

    Total contributors

    Open Issues

    115

    Generated Insights

    About SingleFile

    SingleFile

    SingleFile helps you to save a complete web page into a single HTML file. SingleFile is a Web Extension (and a CLI tool) compatible with Chrome, Firefox (Desktop and Mobile), Microsoft Edge, Safari, Vivaldi, Brave, Waterfox, Yandex browser, and Opera.

    Table of Contents

    Demo

    https://user-images.githubusercontent.com/396787/156664907-cc458e35-f41b-45ca-91eb-372213812b44.mp4

    Install

    SingleFile can be installed from the store of:

    You can also download the zip file (https://github.com/gildas-lormeau/SingleFile/archive/master.zip) of the project and install it manually by unzipping it somewhere on your disk and following these instructions:

    Getting started

    • Click on the SingleFile button in the extension toolbar to save the page.
    • You can click again on the button to cancel the action when processing a page.

    Additional notes

    • 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,
      • the selected content,
      • the selected frame.
    • You can also process multiple tabs in one click and save:
      • the selected tabs,
      • the unpinned tabs,
      • all the tabs.
    • Select "Annotate and save the page..." in the context menu to:
      • highlight text,
      • add notes,
      • remove content.
    • The context menu also allows you to activate the auto-save of:
      • the current tab,
      • the unpinned tabs,
      • 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 "Manage extension" (Firefox) / "Options" (Chrome) to open the options page.
    • Enable the option "Destination > save to Google Drive" or "Destination > upload to GitHub" to upload pages to Google Drive or GitHub respectively.
    • Enable the option "Misc. > add proof of existence" to prove the existence of saved pages by linking the SHA256 of the pages into the blockchain.
    • You can use the customizable shortkey Ctrl+Shift+Y to save the current tab or the selected tabs. Go to about:addons and select "Manage extension shortcuts" in the cogwheel menu to change it in Firefox. Go to chrome://extensions/shortcuts to change it in Chrome.
    • The default save folder is the download folder configured in your browser, cf. about:addons in Firefox and chrome://settings in Chrome.
    • See the extension help in the options page for more detailed information about the options and technical notes.

    FAQ

    See https://github.com/gildas-lormeau/SingleFile/blob/master/faq.md

    Release notes

    See https://addons.mozilla.org/firefox/addon/single-file/versions/

    Known Issues and Troubleshooting

    See https://github.com/gildas-lormeau/SingleFile/blob/master/known-issues.md

    Command Line Interface (SingleFile CLI)

    You can save web pages to HTML from the command line interface. See here for more info: https://github.com/gildas-lormeau/single-file-cli.

    Integration with user scripts

    You can execute a user script just before (and after) SingleFile saves a page. For more info, see https://github.com/gildas-lormeau/SingleFile/wiki/How-to-execute-a-user-script-before-a-page-is-saved.

    File format comparison

    HTMLSelf-extracting ZIPMHTMLWebarchive (Safari)HTML+folder
    Pages are saved as a single file
    HTML and styles are minified
    Unused HTML and styles are removed from files
    Binary resources are not encoded in base 64
    Files are compressed
    Files can be viewed without installing any extension✓¹✓²✓³
    Files can be viewed without running JavaScript
    Files can be unzipped to extract page resourcesn/a
    Files contains the text of the page (plain or formatted) which can be indexed✓⁴

    Footnotes:

    ¹ When using the "universal" self-extracting file format

    ² Only in Chromium-based browsers, and Internet Explorer

    ³ Only in Safari

    ⁴ An option must be enabled in the extension

    Projects using/compatible with SingleFile

    Privacy Policy

    See https://github.com/gildas-lormeau/SingleFile/blob/master/privacy.md

    Contributors

    See https://github.com/gildas-lormeau/SingleFile/blob/master/contributors.md

    Code derived from third party projects

    Icons

    License

    SingleFile is licensed under AGPL. Code derived from third-party projects is licensed under MIT. Please contact me at gildas.lormeau <at> gmail.com if you are interested in licensing the SingleFile code for a commercial service or product.

    Suggestions are welcome :)

    Discover Repositories

    Search across tracked repositories by name or description