jszip
Create, read and edit .zip files with Javascript
A JavaScript library for creating, reading, and editing ZIP archive files in web pages and Node.js apps, with no server required.
JSZip is a JavaScript library that lets web applications create, read, and edit ZIP archive files. A ZIP file is a compressed container format that bundles one or more files together into a single download, commonly used for packaging software, documents, or collections of assets.
The library is intended for developers building web pages or Node.js applications who need to handle ZIP files in code. The README is sparse and points to external documentation for full details, but the example it provides shows the basic pattern: create a zip object, add files and folders to it, then generate the final archive for download. Input can be text, binary data, or base64-encoded content.
JSZip is available under a dual license, meaning you can choose to use it under either the MIT license or the GPLv3 license depending on which fits your project's requirements.
Where it fits
- Let users download a collection of files as a single ZIP archive directly from the browser without a backend.
- Read and extract the contents of a ZIP file uploaded by a user in a web form.
- Bundle generated reports or exported assets into a ZIP file for download inside a Node.js application.
- Programmatically build and modify ZIP archives in a CI script or automated workflow.