# eligrey/FileSaver.js

**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/eligrey-filesaver-js).**

22,032 stars · 4,350 forks · JavaScript · other

## Links

- GitHub: https://github.com/eligrey/FileSaver.js
- Homepage: https://eligrey.com/blog/saving-generated-files-on-the-client-side/
- awesome-repositories: https://awesome-repositories.com/repository/eligrey-filesaver-js.md

## Description

FileSaver.js is a client-side utility library designed to trigger browser download prompts for files generated within a web application or retrieved from remote web addresses. It enables the export of data directly to a user's local device, eliminating the need for server-side processing or backend infrastructure to handle file creation and storage.

The library functions as a wrapper for the browser Blob API, simplifying the process of encapsulating binary data and mapping it to temporary object URLs. By programmatically managing anchor elements and their download attributes, it simulates user interactions to initiate file transfers, allowing for the archiving of session-generated content and the retrieval of external resources.

The project provides functional utilities for managing the file lifecycle, including the ability to cancel active transfers. It supports a range of browser-based file management tasks, ensuring that data created or fetched during a web session can be saved locally through standard browser interfaces.

## Tags

### Web Development

- [File Download Utilities](https://awesome-repositories.com/f/web-development/browser-integration-utilities/browser-compatibility-utilities/file-download-utilities.md) — A client-side utility for triggering browser download prompts to save generated data or remote files directly to a user's local device.
- [Client-Side Exporters](https://awesome-repositories.com/f/web-development/client-side-document-generators/client-side-exporters.md) — Generates and saves files directly in the browser from application data without requiring a server-side round trip.

### Programming Languages & Runtimes

- [Blob Constructors](https://awesome-repositories.com/f/programming-languages-runtimes/programming-utilities/data-text-processing/blob-constructors.md) — A tool that simplifies the creation and downloading of files from Blob objects across all modern web browsers.

### Data & Databases

- [File Export Utilities](https://awesome-repositories.com/f/data-databases/file-export-utilities.md) — Triggers browser download prompts for information created or retrieved during a session to allow users to save work as local files. ([source](https://cdn.jsdelivr.net/gh/eligrey/FileSaver.js@master/README.md))
- [Data Export Generators](https://awesome-repositories.com/f/data-databases/data-export-generators.md) — A solution for exporting application-generated content as local files without requiring server-side processing or complex backend infrastructure.

### User Interface & Experience

- [Browser File Management](https://awesome-repositories.com/f/user-interface-experience/browser-file-management.md) — Provides users with direct control over saving and cancelling file transfer operations initiated within a web application.

### Development Tools & Productivity

- [Remote File Transfers](https://awesome-repositories.com/f/development-tools-productivity/remote-file-transfers.md) — Fetches files from external web addresses and saves them to local storage with automated security and transfer protocol management. ([source](https://cdn.jsdelivr.net/gh/eligrey/FileSaver.js@master/README.md))

### Networking & Communication

- [Download Attribute Handlers](https://awesome-repositories.com/f/networking-communication/browser-integrated-downloads/download-attribute-handlers.md) — Uses the download attribute on anchor tags to instruct the browser to save linked resources instead of navigating to them.
