# Eazip.js > Eazip.js is a standalone, MIT-licensed JavaScript and React library for > creating streaming ZIP downloads from browser files, blobs, and remote URLs. > Local jobs require no account, API key, or hosted backend. ## Basic information - [Eazip.js Homepage](https://eazip.io/js) - [Documentation](https://eazip.io/js/docs) - [Guides](https://eazip.io/js/guides) - [GitHub](https://github.com/Eazip/eazip-js) - [npm: @eazip/core](https://www.npmjs.com/package/@eazip/core) - [npm: @eazip/react](https://www.npmjs.com/package/@eazip/react) ## Documentation and guides - [Overview](https://eazip.io/js/docs): Eazip turns browser files, blobs, and remote URLs into one ZIP download — in the browser by default, in Eazip Cloud when jobs get big. - [Scale with Eazip](https://eazip.io/js/docs/scale-with-eazip): Keep the Eazip.js API and move URL-based ZIP jobs beyond browser limits when you need to. - [Concepts](https://eazip.io/js/docs/concepts): Understand the shared models behind Local, Cloud, React, and framework-agnostic JavaScript integrations. - [Inputs and sources](https://eazip.io/js/docs/concepts/inputs): Understand accepted file shapes, ZIP entry names, and how Local and Cloud fetch remote URLs. - [Partial results and errors](https://eazip.io/js/docs/concepts/partial-results): Understand when Eazip keeps successful files, fails the whole job, or returns a recoverable error. - [Sessions and resume](https://eazip.io/js/docs/concepts/resume): Understand which Cloud credentials to retain and how to reconnect to a job after a reload. - [Multi-ZIP splitting](https://eazip.io/js/docs/concepts/splitting): Understand how maxZipSizeBytes divides large output into predictable ZIP parts. - [ZIP jobs](https://eazip.io/js/docs/concepts/zip-job): Choose createZip or startZip and understand the lifecycle shared by Local and Cloud execution. - [Choose Your Integration Path](https://eazip.io/js/docs/getting-started/choose-your-integration): Pick between browser-only ZIP creation, Cloud with a public key, a backend-created session, or the HTTP API, based on where your file URLs live. - [How Eazip.js works](https://eazip.io/js/docs/getting-started/how-it-works): The two open-source packages, their browser-first job model, and the optional managed execution path. - [JavaScript](https://eazip.io/js/docs/getting-started/javascript): Create, observe, and download ZIP jobs in any browser application with @eazip/core. - [React](https://eazip.io/js/docs/getting-started/react): Add a ZIP download button and a drop-in progress tray to a React application with @eazip/react. - [Present the Eazip tray](https://eazip.io/js/docs/react/eazip-tray): Place, theme, embed, and control the ready-made React download interface. - [Build a headless React UI](https://eazip.io/js/docs/react/headless): Render Eazip task state inside your own component library without the ready-made tray. - [Localization](https://eazip.io/js/docs/react/i18n): Use the built-in English or Japanese tray messages, or override the copy your product needs. - [React patterns](https://eazip.io/js/docs/react): Choose the right React pattern for task state, the download tray, localization, and Cloud persistence. - [Persist Cloud tasks](https://eazip.io/js/docs/react/persistence): Understand how React reconnects to Cloud jobs after reload and when restored tasks can retry. - [Control tasks with useEazip()](https://eazip.io/js/docs/react/use-eazip): Start ZIP downloads, read the current React task, and share defaults without duplicating engine state. - [@eazip/core](https://eazip.io/js/docs/reference/core): Reference for Core functions, ZIP options, jobs, results, errors, and package entry points. - [Reference](https://eazip.io/js/docs/reference): Look up the public Core and React APIs, options, task fields, results, errors, and component props. - [@eazip/react](https://eazip.io/js/docs/reference/react): Reference for the React hook, task state, tray props, provider config, localization, and re-exported Core types. - [Create a ZIP File in the Browser with JavaScript](https://eazip.io/js/guides/create-zip-file-browser-javascript): Create and download a ZIP from browser files with JavaScript, without uploading files or writing backend ZIP code. - [Create a ZIP from remote URLs](https://eazip.io/js/guides/create-zip-from-remote-urls): Fetch multiple browser-readable URLs, preserve useful filenames, and download one ZIP with JavaScript. - [Download Multiple Files as a ZIP in React](https://eazip.io/js/guides/download-multiple-files-as-zip-react): Add a multiple-file picker and ZIP download to React with useEazip and EazipTray, including progress, cancel, and retry states. - [Download Selected Files as a ZIP in React](https://eazip.io/js/guides/download-selected-files): Turn selected gallery, asset picker, or document items into one browser-generated ZIP with React and EazipTray. - [Handle Failed Files and Partial ZIP Downloads](https://eazip.io/js/guides/failed-files-partial-zip-downloads): Keep successful files, inspect skipped URL errors, and decide when a JavaScript or React ZIP download should fail completely. - [JavaScript and React ZIP Guides](https://eazip.io/js/guides): Build browser ZIP downloads with JavaScript or React, connect remote files and object storage, handle failures, and scale large URL archives. - [Show ZIP Progress and Let Users Cancel or Retry](https://eazip.io/js/guides/progress-cancel-retry): Show ZIP progress in React, let users cancel active work, and retry failed downloads with EazipTray or useEazip. - [Download an Entire S3 Bucket or Prefix as a ZIP](https://eazip.io/js/guides/zip-from-aws-s3): List a bucket prefix, presign each object, and package the results into one ZIP with @eazip/core in the browser. - [Download Azure Blob Storage Files as a ZIP](https://eazip.io/js/guides/zip-from-azure-blob-storage): List a container prefix, generate SAS URLs on your server, and package the results into one ZIP with @eazip/core in the browser. - [Download Backblaze B2 Files as a ZIP](https://eazip.io/js/guides/zip-from-backblaze-b2): List a Backblaze B2 folder, presign each object with the S3-compatible API, and package the results into one ZIP in the browser. - [Download Cloudflare R2 Objects as a ZIP](https://eazip.io/js/guides/zip-from-cloudflare-r2): Presign R2 objects on the server, then zip them in the browser with Eazip — no storage credentials client-side and no R2 egress fees. - [Download DigitalOcean Spaces Files as a ZIP](https://eazip.io/js/guides/zip-from-digitalocean-spaces): Presign DigitalOcean Spaces objects on the server, then package them into one browser-downloaded ZIP with Eazip. - [Download All Firebase Storage Files as a ZIP](https://eazip.io/js/guides/zip-from-firebase-storage): List a Cloud Storage for Firebase folder, turn the files into a ZIP in the browser, and scale past tab limits with Eazip Cloud. - [Download Google Cloud Storage Files as a ZIP](https://eazip.io/js/guides/zip-from-google-cloud-storage): List a bucket prefix, sign V4 read URLs, and package the objects into one ZIP with @eazip/core in the browser. - [Download MinIO Objects as a ZIP](https://eazip.io/js/guides/zip-from-minio): List objects in a self-hosted MinIO bucket, presign each one, and package the results into one ZIP with @eazip/core. - [Create a ZIP From Presigned URLs](https://eazip.io/js/guides/zip-from-presigned-urls): Turn any storage provider's expiring signed URLs into one browser ZIP download with @eazip/core, without exposing credentials. - [Download All Files From Supabase Storage as a ZIP](https://eazip.io/js/guides/zip-from-supabase-storage): List a Supabase Storage folder, sign the objects on the server, and package them into one ZIP in the browser with Eazip. - [Download UploadThing Files as a ZIP](https://eazip.io/js/guides/zip-from-uploadthing): Resolve a user's UploadThing uploads into signed URLs on the server, then fetch and zip them in the browser with Eazip. - [Download Vercel Blob Files as a ZIP](https://eazip.io/js/guides/zip-from-vercel-blob): List a user's Vercel Blob files with list(), then zip and download them in the browser with Eazip — no server egress or storage credentials client-side. - [Download Wasabi Files as a ZIP](https://eazip.io/js/guides/zip-from-wasabi): Presign Wasabi Hot Cloud Storage objects on the server, then package them into one ZIP in the browser with Eazip — no storage credentials client-side. ## Optional - [Full Eazip.js documentation text](https://eazip.io/js/llms-full.txt) - [Scale with Eazip](https://eazip.io/js/docs/scale-with-eazip)