SingleFile is a free, open source browsers & extensions project written in JavaScript and released under AGPL-3.0. It has 22,411 GitHub stars, 1,410 forks and 101 open issues, and was last pushed 14 hours ago. On this registry it ranks #19 of 65 tracked projects in Browsers & Extensions, with 5 head-to-head comparisons available. It gained 9 stars over the last 3 tracked days.

What is SingleFile?

What it is

SingleFile is a web extension, and also a command line tool, that saves a complete web page into a single HTML file. It is written in JavaScript and released under the AGPL-3.0 license, and it lives in the browser extension ecosystem, with builds published for Chrome, Firefox (desktop and mobile), Microsoft Edge, Safari, Vivaldi, Brave, Waterfox, Yandex browser, and Opera. The project has been developed for roughly sixteen years and is distributed through the extension stores of Firefox, Chrome, Safari, and Microsoft Edge, as well as through manual installation from the project archive.

The concrete problem it solves is preservation of a page as it appeared when it was viewed. A normal browser save produces a folder of assets, or a page that renders incorrectly once the original resources change or disappear. SingleFile instead inlines the page into one self-contained HTML file, which keeps the copy faithful and portable. The topic list places it alongside archiving, offline reading, read-it-later, web clipping, and OSINT workflows, where a durable local copy of a page matters more than a live link.

Key capabilities

  • Saves a complete web page into a single HTML file rather than a folder of separate resources.
  • Saves the current tab, the selected content, or the selected frame from the context menu.
  • Processes multiple tabs in one action, covering the selected tabs, the unpinned tabs, or all tabs.
  • Provides an "Annotate and save the page" mode for highlighting text, adding notes, and removing content before saving.
  • Supports auto-save for the current tab, the unpinned tabs, or all tabs, triggered after a page loads or before it unloads.
  • Uploads saved pages to Google Drive or GitHub when the corresponding destination option is enabled.
  • Adds an optional proof of existence by linking the SHA256 hash of a saved page into the blockchain.
  • Exposes a customizable keyboard shortcut, Ctrl+Shift+Y by default, for saving the current tab or the selected tabs.

Who uses it and how

  • Readers who keep offline copies of pages for later reading, using auto-save so pages are captured as they are loaded.
  • Researchers and OSINT practitioners who archive pages and need a self-contained file that does not depend on the original site staying online.
  • Users who annotate before saving, highlighting passages, attaching notes, and stripping unwanted content from the captured page.
  • Users who batch-capture sessions by saving the selected tabs, the unpinned tabs, or every open tab in one click.
  • Users who route captures to cloud storage, uploading pages to Google Drive or GitHub instead of the local download folder.

Getting started

Install from the Firefox, Chrome, Safari, or Microsoft Edge store, or download the project archive and load it manually following the documented instructions for Firefox, Chrome, Edge, and Safari. After installation, click the SingleFile button in the extension toolbar to save the page, and click again to cancel while a page is being processed. A command line interface is also available, along with integration with user scripts.

When to use it — and when not to

SingleFile is the right choice when the goal is a faithful, self-contained copy of a page that survives the original site changing or disappearing, and when captures need to be batched or automated. It is a browser extension and a CLI tool rather than a hosted service, so the saved files land in the browser download folder by default unless a destination such as Google Drive or GitHub

project readme (upstream, from github) — read inline

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

| | HTML | Self-extracting ZIP | MHTML | Webarchive (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 resources | | ✓ | | | n/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

readme truncated — read the full docs on github

Frequently asked questions

Is SingleFile free to use?

SingleFile is open source under the AGPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does SingleFile do?

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

What is SingleFile written in?

SingleFile is primarily written in JavaScript. Its source is publicly available at https://github.com/gildas-lormeau/SingleFile, and it has 22,411 GitHub stars.