Write archives
Create browser-downloadable ZIP files with ZipWriter, choose compression level, preserve timestamps and comments, and return Blob, Response, ReadableStream, Uint8Array, or ArrayBuffer.
JSZipp gives web apps fast ZIP creation and inspection without pulling in a heavyweight bundle. Work with large, modern ZIP64-scale archives and catch dangerous paths, zip bombs, and malformed layouts before they reach your app.
Create browser-downloadable ZIP files with ZipWriter, choose compression level, preserve timestamps and comments, and return Blob, Response, ReadableStream, Uint8Array, or ArrayBuffer.
Open user-selected files with openZip(), reject unsafe paths by default, cap archive and entry sizes, and read entries with text(), bytes(), arrayBuffer(), or stream().
JSZipp targets modern browser APIs: Web Streams, Blob, TextEncoder, TextDecoder, AbortSignal, and DecompressionStream (platform decompression for deflated reads).
import { ZipWriter } from "web-jszipp";
const writer = new ZipWriter({ outputAs: "blob" });
await writer.add({ path: "Hello.txt", data: "Hello World\n" });
const smileBytes = Uint8Array.from(atob(imgData), (char) => char.charCodeAt(0));
await writer.add({ path: "images/smile.gif", data: smileBytes });
const content = await writer.close();
saveAs(content, "example.zip");