# gildas-lormeau/SingleFile

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/gildas-lormeau-singlefile).**

20,320 stars · 1,282 forks · JavaScript · agpl-3.0

## Links

- GitHub: https://github.com/gildas-lormeau/SingleFile
- Homepage: https://getsinglefile.com
- awesome-repositories: https://awesome-repositories.com/repository/gildas-lormeau-singlefile.md

## Topics

`annotations` `archive` `archiver` `auto-save` `browser` `chrome` `chrome-extension` `cli` `firefox` `firefox-addon` `javascript` `offline-reading` `osint` `puppeteer` `screenshot` `selenium` `self-extracting` `self-extracting-zip` `snapshot` `web-clipper`

## Description

SingleFile is a browser-based utility designed to preserve the visual state and functional integrity of web pages by capturing them as self-contained HTML files. It functions by traversing the document object model to embed external assets, such as images, stylesheets, and scripts, directly into a single document for reliable offline viewing.

The tool distinguishes itself through its ability to handle complex, dynamic web content by executing custom scripts and managing cross-origin resource requests during the capture process. It utilizes isolated execution environments and shadow document fragments to ensure that annotations, highlights, and custom modifications remain intact and conflict-free within the archived file.

Beyond basic archiving, the software supports automated workflows, including the scheduling of recurring page captures and the synchronization of saved files to remote cloud storage providers. These capabilities facilitate long-term content preservation and integration with personal knowledge management systems. The project is available as a browser extension and provides a command-line interface for automated web scraping and content management tasks.

## Tags

### Content Management & Publishing

- [Web Content Archivers](https://awesome-repositories.com/f/content-management-publishing/content-archiving/web-content-archivers.md) — Captures full web pages including all embedded resources into a single self-contained file for offline viewing. ([source](https://getsinglefile.com))
- [Annotation Tools](https://awesome-repositories.com/f/content-management-publishing/content-processing-transformation/content-processing/annotation-tools.md) — Allows users to add notes and highlights to web pages during the saving process to preserve personal context. ([source](https://getsinglefile.com))

### Web Development

- [Resource Inliners](https://awesome-repositories.com/f/web-development/web-automation-scraping/web-scraping-automation/browser-automation/dom-serialization-tools/resource-inliners.md) — Traverses the DOM to extract and embed external assets like images and stylesheets into a single self-contained file.
- [Browser Extension Utilities](https://awesome-repositories.com/f/web-development/browser-extension-utilities.md) — Extends browser functionality by injecting scripts and manipulating the DOM to capture page content.
- [Web Scraping](https://awesome-repositories.com/f/web-development/web-automation-scraping/web-scraping-automation/web-scraping.md) — Automates recurring captures of websites to track content changes and maintain local archives.
- [Event-Driven Scraping Hooks](https://awesome-repositories.com/f/web-development/event-driven-scraping-hooks.md) — Provides lifecycle hooks to control network request flow and data processing during the capture sequence.
- [Web Page Instrumentation Tools](https://awesome-repositories.com/f/web-development/frontend-development-tools/web-page-instrumentation-tools.md) — Executes custom scripts to interact with complex page elements and ensure accurate rendering of dynamic content.

### Data & Databases

- [Cloud Storage Sync Tools](https://awesome-repositories.com/f/data-databases/cloud-storage-sync-tools.md) — Uploads saved archives directly to remote cloud storage providers for centralized access and backup. ([source](https://getsinglefile.com))
- [Storage Synchronization Services](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-persistence-storage/data-storage/storage-synchronization-services.md) — Maintains consistency between local web archives and remote cloud storage services.

### User Interface & Experience

- [Shadow DOM Utilities](https://awesome-repositories.com/f/user-interface-experience/shadow-dom-utilities.md) — Uses shadow DOM to isolate annotations and scripts, preventing style conflicts with the original page.

### Development Tools & Productivity

- [Script Execution Engines](https://awesome-repositories.com/f/development-tools-productivity/script-execution-engines.md) — Executes user-defined scripts within the capture environment to modify dynamic page elements before saving. ([source](https://getsinglefile.com))

### Business & Productivity Software

- [Personal Knowledge Management](https://awesome-repositories.com/f/business-productivity-software/personal-knowledge-management.md) — Integrates with personal knowledge management by preserving annotated web content for future research.

### Networking & Communication

- [Cross-Origin Networking](https://awesome-repositories.com/f/networking-communication/cross-origin-networking.md) — Manages cross-origin resource fetching and security policies to ensure assets are correctly embedded.
