ZIP 打包工具 把多个文件或整个文件夹打包成一个标准 ZIP 文件,所有处理在浏览器本地完成不上传服务器。底层是 JSZip,生成的 ZIP 和桌面 7-Zip / WinRAR 完全互通。
| 等级 | 场景 | 压缩率 | 速度 |
|---|---|---|---|
| 仅存储 | 图片/视频/PDF/已压缩文件 | 0% | 最快 |
| 快速 | 混合内容,追求速度 | 中 | 快 |
| 标准 | 日常默认 | 良 | 中 |
| 最大 | 文本/代码/日志/CSV | 高 | 慢 |
适用场景:多文件打包邮件附件、项目目录归档、图片批量打包分享、临时聚合分散文件。
任意类型都可以——ZIP 是通用容器,对文件内容无要求。文本、图片、视频、PDF、Office 文档、可执行文件都能打包。单个文件大小和总体积只受浏览器内存限制(见下条)。
受浏览器内存限制,实测建议总大小 1–2 GB 以内。jszip 会把所有文件读入内存再一次性输出 Blob,超大体积会导致浏览器卡顿甚至崩溃。大于 3 GB 的归档仍建议桌面端 7-Zip / WinRAR。手机浏览器建议 500 MB 以内。
不会。整个打包过程在你本地浏览器里完成,文件从未发送到任何服务器。可以在浏览器开发者工具的"网络"面板验证——处理时没有任何对外请求。工具本身也不依赖任何运行时联网。
- 仅存储(Store):不压缩,只打包。适合 JPG / PNG / MP4 / MP3 / PDF 等已压缩格式——再压缩收益极小(<1%)反而浪费时间。也适合需要超快速打包的场景。 - 快速(level 1):DEFLATE 最低等级。压缩率中等,速度快。 - 标准(level 6):DEFLATE 默认等级,速度与压缩率平衡。日常场景选这个。 - 最大(level 9):DEFLATE 最高等级。对文本 / 代码 / 日志 / CSV 等未压缩数据效果显著(可再小 5–15%),但耗时会增加 2–4 倍。
支持。拖放区域接受文件夹(整个目录递归读取,子目录结构完整保留),也可以点击"+ 添加文件夹"按钮选择。需要浏览器支持 webkitGetAsEntry API:Chrome / Edge / Firefox / Safari 最新版都可。早期移动浏览器可能不支持文件夹拖拽,此时仍可一次选中多个文件。
不会。jszip 默认输出 UTF-8 + UTF-8 flag,解压时所有现代工具(7-Zip / WinRAR / macOS 归档实用工具 / Linux unzip)都能正确识别。即使旧版 WinRAR 在默认设置下也能读出中文名。如果接收方是 Windows 系统 WinRAR 读出来乱码,检查他们的 WinRAR 是否勾选了"使用 UTF-8 名称"。
会。ZIP 内部的时间戳取自 File.lastModified(浏览器报告的文件修改时间)。但用 input 选择文件时,部分浏览器不返回真实修改时间(隐私策略),此时可能显示为现在时间。拖拽进来的文件通常有正确时间戳。如需严格时间保留,用文件夹拖拽而非点击选择。
自动加后缀。如果添加了两个同路径文件(如两次拖入同一个 notes.txt),后来者会被重命名为 notes (1).txt、notes (2).txt,不会覆盖前面。这也方便你把多个文件夹里的同名文件拼到一个 ZIP 里。
本工具不加密——jszip 不支持 AES / ZipCrypto 加密。如果需要密码保护的 ZIP,请用 加密 ZIP 工具(底层 @zip.js/zip.js,支持 AES-256)。加密后的 ZIP 同样可以在本站的在线解压工具里解开。
完全兼容。jszip 生成的是标准 ZIP 2.0 格式(DEFLATE 压缩),和 Windows 资源管理器 / macOS 归档实用工具 / 7-Zip / WinRAR / Linux unzip 全部互通。不会出现"你的 ZIP 格式不支持"这种问题。