# ZIP File Creator

> Creates one standard ZIP from up to 200 selected files without uploading them. It can store the original bytes directly or compress them with DEFLATE, makes unsafe and duplicate names portable, and reports the exact source and archive sizes.

Use it: https://tessalor.com/en/documents/zip-file-creator

This tool runs entirely in the browser. Nothing entered into it is uploaded.

## How it is done

1. Check that the selection contains 1 to 200 non-empty files, no file is larger than 50 MB, and their combined size is no more than 250 MB.
2. Reduce every selected name to a flat basename, remove path separators and unsafe control characters, protect reserved Windows names, cap the UTF-8 name length, and number collisions without regard to letter case.
3. Start one ZIP entry per file. Store mode copies the bytes with ZIP method 0; Fast, Balanced and Smallest use method 8 DEFLATE at levels 1, 6 and 9 respectively.
4. Feed each source into the ZIP writer in 512 KB pieces. The writer calculates CRC-32, emits the entry records and reports progress while the worker yields between pieces so Cancel remains effective.
5. Give every entry the fixed ZIP date 1 January 1980 and portable read/write attributes, then finish the central directory and offer the completed bytes as the requested .zip download.

## Assumptions

- Selected files become flat entries at the root of the archive. Folder structure, source paths, comments and source modification times are intentionally not copied.
- Store mode preserves every source byte but does not promise that the ZIP itself will be smaller. ZIP headers, filenames, checksums and its central directory add overhead.
- Fast, Balanced and Smallest are three effort levels for the same standard DEFLATE method. A higher level can take longer without producing a meaningfully smaller archive, especially on JPEG, MP4, PDF, ZIP and other already-compressed formats.
- CRC-32 catches accidental corruption when an entry is extracted. It is not a cryptographic signature, authentication mechanism or defence against deliberate modification.
- This tool does not encrypt entries or add a password. The resulting archive is an ordinary unencrypted ZIP whose filenames and contents are available to anybody who has the file.
- Source bytes and the growing archive are held in the browser worker, which is why the per-file, combined-input and output limits are explicit.

## Inputs

| Name | Label | Type | Default | Range |
| --- | --- | --- | --- | --- |
| `files` | Files to archive | file | chosen on your device | */*, up to 50 MB |
| `compression` | How to store the files | select | balanced |  |
| `archiveName` | Archive name | text | files |  |

## Outputs

- `filesArchived` — Files archived (integer), primary
- `originalBytes` — Original bytes (integer)
- `archiveBytes` — ZIP bytes (integer)
- `renamedFiles` — Names made unique (integer)
- `method` — Archive method (text)

## Questions

### Are the files uploaded before the ZIP is made?

No. The selected File objects are read by a worker in this browser tab, and that worker writes the ZIP records locally. The page's browser test fails if using the tool sends a selected file in a network request.

### Which compression setting should I use for JPEG, PDF or MP4 files?

Use Store without recompressing when the selection is mostly JPEG, MP4, ZIP, modern PDF or similarly compressed material. DEFLATE is unlikely to find much repetition left, so it usually spends more time for little or no saving and can make the archive slightly larger.

### Does Store without recompressing change the files?

No. Method 0 places the exact source bytes inside each ZIP entry. The ZIP around them has its own headers, CRC-32 values and directory, but extracting an entry reproduces the original file bytes.

### Can selected filenames create folders when the ZIP is extracted?

No. Each entry is reduced to a flat basename, path components are discarded and unsafe punctuation is replaced. If the resulting names collide, later entries receive suffixes such as report (2).pdf instead of creating a path or overwriting another file.

### Can this ZIP creator password-protect or encrypt an archive?

No. It creates ordinary stored or DEFLATE entries and does not implement either legacy ZipCrypto or AES encryption. Use an archive application with authenticated encryption when confidentiality matters.

### Does a successful CRC-32 check prove who created the ZIP?

No. CRC-32 is an error-detection value stored beside each entry, and an editor can replace both the data and that value. Compare a SHA-256 from a separately trusted source or verify a digital signature when origin and deliberate tampering matter.

## Sources

- [ZIP File Format Specification (APPNOTE.TXT)](https://support.pkware.com/pkzip/appnote) — PKWARE, applies to Current public ZIP specification. Retrieved 2026-08-01.
- [RFC 1951: DEFLATE Compressed Data Format Specification version 1.3](https://www.rfc-editor.org/info/rfc1951/) — Internet Engineering Task Force, applies to May 1996. Retrieved 2026-08-01.
- [fflate — High performance (de)compression in an 8kB package](https://github.com/101arrowz/fflate) — Arjun Barrett, applies to fflate 0.8.3. Retrieved 2026-08-01.

## Variants

- [How do I make a ZIP without uploading my files?](https://tessalor.com/en/documents/zip-file-creator/make-zip-without-uploading-files)
- [Should I compress JPEG, PDF and MP4 files again inside a ZIP?](https://tessalor.com/en/documents/zip-file-creator/zip-jpeg-pdf-and-mp4-files)

---

Estimate, not advice. See https://tessalor.com/en/disclaimer.
Machine-readable catalogue: https://tessalor.com/api/tools.json
