Web Extension for saving a faithful copy of a complete web page in a single HTML file https://getsinglefile.com
  • JavaScript 82.2%
  • HTML 14.6%
  • CSS 3.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-31 10:58:18 +01:00
.github rename default branch to main 2026-10-13 14:45:30 +02:00
_locales Review Swedish interface translations 2026-10-31 09:02:47 +02:00
lib update the core dependency to 1.8.0 2026-10-28 14:19:40 +01:00
src split large profiles in sync storage, keep settings on failed import (#2038) 2026-10-28 14:03:53 +01:00
test split large profiles in sync storage, keep settings on failed import (#2038) 2026-10-28 14:03:53 +01:00
tools update the dependencies of the mcp server 2026-10-27 17:03:34 +01:00
.gitignore update ignored files 2026-09-15 02:08:31 +02:00
build-extension.sh require zip up front instead of running sudo apt 2026-09-15 01:48:47 +02:00
build.sh add a build.sh script like the mv3 one 2026-09-05 23:32:39 +02:00
contributors.md credit notlin4 for the traditional Chinese translation 2026-09-02 20:36:39 +02:00
eslint.config.mjs declare the tool globals in the file like the mcp server 2026-09-15 02:15:44 +02:00
faq.md rename default branch to main 2026-10-13 14:45:30 +02:00
known-issues.md split file 2025-03-07 01:32:53 +01:00
LICENSE added LICENSE 2019-04-25 11:57:49 +02:00
manifest.json bump up version 2026-10-28 14:24:25 +01:00
package-lock.json update the core dependency to 1.8.0 2026-10-28 14:19:40 +01:00
package.json update the core dependency to 1.8.0 2026-10-28 14:19:40 +01:00
privacy.md rename default branch to main 2026-10-13 14:45:30 +02:00
README-BUILD.md add build instructions readme to the source package 2026-08-28 02:12:40 +02:00
README.MD link the website from the README 2026-10-27 17:14:08 +01:00
rollup.config.dev.js fix the dev build of the background script 2026-09-16 23:34:15 +02:00
rollup.config.js follow the core constant in the max appended data length 2026-09-16 18:40:28 +02:00

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/main.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/main/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/main/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

Privacy Policy

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

Contributors

See https://github.com/gildas-lormeau/SingleFile/blob/main/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 :)