mrkeyoor.com_
Tue 01 Sept 17:40 UTC
Webevaluationupdated 26 Aug 2026

SingleFile review

SingleFile is a browser extension that saves a complete web page as one HTML file. It collects the page, styles, images, and other resources into an archive you can open later without keeping a separate asset folder.

+36stars / 7d
Verdict

Our SingleFile build completed in 25 seconds after an 11-second, 132-package install, but the checkout offered no test target to run. The extension is still the easiest recommendation here for a person who wants one page to become one portable file. For institutional collections, repeatable crawls, or captures that must survive site-specific failures, use ArchiveBox or Browsertrix and verify the output.

We ran it

Lab card: what happened when we ran SingleFileScreenshot of SingleFile (getsinglefile.com)
Install✓ · 11s132 packages · 27 MB
Build✓ · 25s
Testsn/ano test script
Known vulns00 critical · 0 high · 0 moderate · 0 low (npm audit)
Repo184 files~29,096 lines of source · 4.5 MB · 1 CI workflows

Answers from our run

Does SingleFile build from source?

Dependencies installed in 11 seconds (132 packages), and the build succeeded in 25 seconds. We cloned commit bbac7fb into a clean Debian container with 3 CPUs and no project-specific setup.

Does SingleFile have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Does SingleFile have known vulnerabilities in its dependencies?

npm audit found none in the dependency tree at the time of our run.

Who should not use SingleFile?

Anyone who needs a guaranteed pixel-perfect copy of every site: open issues 1835 and 1940 report missing formatting, fonts, and images on specific pages.

What are the alternatives to SingleFile?

ArchiveBox, Monolith, Webrecorder Browsertrix Crawler. Our SingleFile build completed in 25 seconds after an 11-second, 132-package install, but the checkout offered no test target to run.

Setup5/5Store installs are simple; source build passed in 25 seconds
Docs4/5Clear browser, capture, destination, CLI, and format guidance
Community5/522,249 stars with active issue and pull request traffic
Maturity4/5Long-lived extension, but page-specific capture failures persist

Discussed on

  1. hnSingleFile: Save a complete web page into a single HTML file958 points
  2. hnSingleFile version compatible with Manifest V3320 points
  3. hnSinglefile: A web extension to save a complete web page into a single HTML file122 points
  4. hnShow HN: SingleFile Lite, new version of SingleFile compatible with Manifest V34 points
  5. hnSingleFile: Web Extension for saving a complete web page into a single HTML file4 points

Who it’s for

Researchers and journalists who need portable snapshots of pages they can search and reopen offline.
People who want one-click page capture in Chrome, Firefox, Edge, Safari, or several other browsers.
Archivists who need batch capture, automatic saving, annotations, or uploads to Google Drive or GitHub.
Developers who want SingleFile's capture format inside a larger archiving workflow.

Who it’s NOT for

Anyone who needs a guaranteed pixel-perfect copy of every site: open issues 1835 and 1940 report missing formatting, fonts, and images on specific pages.
Teams expecting a repository test suite today: our checkout had no test script or tests directory, although pull request 1927 proposes Vitest coverage for pure logic.
Companies that cannot use AGPL code in their product and do not want a separate commercial license.
Users who mainly need searchable bookmark metadata rather than full page files: a bookmark manager will create a smaller, more organized collection.
People capturing authenticated or interactive applications as legal evidence without independent verification: a saved HTML file is a representation of the page, not proof that every dynamic state was preserved.

Setup reality

Our sandbox installed 132 npm packages in 11 seconds and used 27 MB on disk. The build succeeded in 25 seconds. There was no tests script or target, so the lab skipped tests; npm audit reported 0 known vulnerabilities.

Ordinary users do not need this source build. They install the extension from a browser store, grant the requested browser permissions, choose a destination, and click the toolbar button. Google Drive, GitHub uploads, and blockchain proof options require their respective accounts or services.

Capture quality varies by page. Browser restrictions, lazy-loaded media, fonts, frames, and site-specific behavior can affect the saved result, so important archives need a reopen check before the live page disappears.

One click turns a live page into one HTML file

SingleFile's promise is unusually literal. Click its browser button and it rewrites the current page into a self-contained HTML document, embedding styles and resources so there is no neighboring assets folder to lose. The result can be opened without the extension and its text remains indexable. That makes it useful for research notes, receipts, disappearing documentation, and any workflow where a URL alone is too fragile.

The extension supports Chrome, Firefox on desktop and Android, Edge, Safari, Vivaldi, Brave, Waterfox, Yandex Browser, and Opera. The basic interaction is one click, with a second click cancelling the capture. Context-menu commands save selected content, a frame, selected tabs, unpinned tabs, or every tab. Auto-save can capture pages after load or before unload.

A 27 MB source install is not the normal user setup

Our checkout at commit bbac7fb had 184 files, about 29,096 source lines, and occupied 4.5 MB before dependencies. Npm installed 132 packages in 11 seconds and used 27 MB on disk. The build succeeded in 25 seconds. Those are modest numbers for a browser extension, but most users should install the signed store version instead of building it.

The source repository is useful for contributors and for reviewing the AGPL code. Chrome and Edge manual installation points to a separate Manifest V3 repository, while Safari has its own extension project. That split matters if you intend to customize and distribute a build: the main README is a product map, not one universal packaging command for every browser.

What happened when we ran it

Our sandbox completed the 132-package install in 11 seconds and the build in 25 seconds on 3 CPUs with 8 GB of RAM. Npm audit found 0 known vulnerabilities across critical, high, moderate, and low severities. The repository had 1 CI workflow file and no Dockerfile.

There was no tests script or target, so the lab skipped tests. The checkout also had no tests directory. Pull request 1927, updated August 26, proposes a Vitest suite for pure-logic modules, which fits what our run found but does not make unmerged tests part of the measured commit. A successful build proves that the assets were produced; it does not prove that a complex page will be captured faithfully.

The useful controls go well beyond Save

SingleFile can annotate a page before capture by highlighting text, adding notes, or removing material. Destinations include the browser's download folder, Google Drive, and GitHub. User scripts can run immediately before or after saving, which gives technical users a place to clean a site-specific element or add metadata. A separate CLI project supports terminal capture for automation.

Its default HTML format keeps everything in one document and works without JavaScript when reopened. SingleFile also documents a self-extracting ZIP option, MHTML, Safari webarchive, and the traditional HTML-plus-folder format. The tradeoffs are concrete: compression, base64 encoding, browser support, and resource extraction differ. For a personal archive, plain HTML is the least fussy artifact. For a preservation program, one file format should not be the only copy.

Some pages will lose images, fonts, or dynamic state

A web extension has to freeze a moving target. Open issue 1940 reports images missing from a specific saved page. Issue 1835 reports formatting and fonts not being faithfully captured on Adblock Plus blog pages. Other current reports cover partial saves, wiki failures, Reddit content, Firefox Android reading mode, and a hang when unused-font removal is enabled. These reports are page-specific, but that is precisely the operational risk.

Reopen every important file with networking disabled and inspect the content that matters. Check lazy-loaded images, expanded comments, embedded frames, custom fonts, and text that appeared after a user action. A capture can open successfully while omitting the one chart or discussion thread you intended to preserve. SingleFile gives you an artifact; quality control remains your responsibility.

AGPL licensing matters for embedded commercial use

The repository is licensed under AGPL-3.0, with some derived third-party code under MIT. The maintainer asks companies interested in using SingleFile code in a commercial service or product to contact him about licensing. Personal use of the extension is straightforward, but a business planning to modify, host, or embed the code should have counsel review the distribution and network-use obligations before shipping.

Privacy also depends on chosen destinations. Saving to the browser download folder is local. Enabling Google Drive or GitHub uploads sends the archive to those services and requires their account flows. The optional proof-of-existence feature links a SHA256 hash into a blockchain. None of those extras is required to save an ordinary page.

August 2026 activity is stronger evidence than the old release tag

GitHub listed 22,249 stars and 138 combined open issues and pull requests when fetched. The repository was pushed on August 26, 2026, and several capture reports plus the proposed test suite were active that week. The latest GitHub release endpoint returned v1.2.0 from March 30, 2024, but the README sends users to browser-store release notes instead. That older GitHub tag alone does not describe current maintenance.

SingleFile earns its place because the output is easy to understand and carry: one page, one file. Its 25-second source build and clean npm audit make the code approachable, while the absent test target and current site-specific reports set the limit. Use it for convenient, inspectable snapshots. Use a crawler and an indexed archive when losing one resource or one page is unacceptable.

Alternatives

ProjectWhat it isPick it when
ArchiveBox gh↗A self-hosted web archiving system that keeps several capture formats and an index.pick this instead when you need scheduled collection, search, retention, and many archived URLs rather than individual HTML files.
MonolithA command-line program that saves a web page into one HTML file.pick this instead when repeatable terminal automation matters more than browser-extension controls and annotations.
Webrecorder Browsertrix CrawlerA browser-based crawler that produces replayable web archives.pick this instead when you need multi-page crawling and WARC-style preservation rather than one-file exports.

What people are saying

  1. [velocity-scout] gildas-lormeau/SingleFile

Sources

  1. SingleFile README
  2. SingleFile repository
  3. Issue 1835: formatting and font capture
  4. Issue 1940: some images are not saved
  5. Pull request 1927: Vitest test suite

More web reviews

axios · super-productivity · Graphite · fastify · tabler · go-zero · the whole board →