在线解压工具 在浏览器里打开 ZIP / RAR / 7z / TAR / ISO 等压缩包,预览内文件并选择性下载。整个过程不上传服务器——底层是 libarchive 的 WebAssembly 版本,和桌面 7-Zip / WinRAR 解析格式的是同一套 C 代码库。
| 类别 | 格式 |
|---|---|
| ZIP 系 | ZIP / JAR / APK / EPUB / CBZ / WAR |
| 7z | 7z / CB7 |
| RAR | RAR v4 / RAR v5 / CBR |
| TAR 系 | TAR / TAR.GZ / TAR.BZ2 / TAR.XZ / TGZ / TBZ2 / TXZ |
| 其他 | ISO / CPIO / CBT |
适用场景:Mac 解 RAR、手机浏览器解压、只取压缩包里一两个文件、加密压缩包开箱、后端日志归档展开。
解压支持:ZIP / 7z / RAR v4 / RAR v5 / TAR / TAR.GZ / TAR.BZ2 / TAR.XZ / TGZ / TBZ2 / TXZ / ISO / CPIO,以及 JAR / APK / EPUB / CBZ / CBR 等 ZIP/RAR 变体。底层是 libarchive 的 WebAssembly 版,和桌面 7-Zip / WinRAR 用的是同一套开源格式支持。
能——ZIP / 7z / RAR 的密码保护都支持。工具检测到加密会弹出密码输入框,输入正确密码后自动解锁并列出文件。前提是你知道密码,工具不做密码破解(算法强度决定了暴力破解不可行)。
不会。整个解压过程在你本地浏览器的 WebAssembly 引擎里完成,压缩包和密码从未发送到任何服务器。可以在浏览器开发者工具的"网络"面板验证——处理时没有任何对外请求。首次使用会下载约 1 MB 的 wasm 引擎(浏览器缓存后不再下载),之后整个解压过程完全离线。
理论上只受浏览器内存限制。实测 1–2 GB 的压缩包在现代 PC 浏览器可以打开,但大文件列表加载会较慢(需要几秒扫描)。建议:3 GB 以上的大包仍用桌面端 7-Zip 等工具;手机浏览器建议 500 MB 以内以避免内存溢出。
老版本 ZIP 用的是本地编码(Windows 中文系统是 CP936/GBK),不是 UTF-8。libarchive 默认按 UTF-8 解读文件名,遇到旧 ZIP 可能乱码。临时方案——用 WinRAR 重新打包为 UTF-8 的 ZIP,或用 7-Zip 转换为 7z 格式。根源在压缩方的编码选择,不是解压工具的问题——解决乱码需要打包时用 UTF-8 的 ZIP 工具(Windows 10+ 资源管理器、Mac 的 Keka、WinRAR 5.x+)。
免安装、跨平台、隐私保护。Mac / iPhone / iPad / Android 浏览器都能用,不用装专门软件;一次性解个文件场景很便利。劣势——不支持创建 RAR、加密 RAR v5 的边缘情况兼容性可能不如原生 WinRAR;大文件速度不如 native 工具。日常解压 ZIP / 7z / RAR / tar 够用;硬核批量归档仍建议桌面端。
不支持。多分卷 RAR 需要底层库顺序读取多个独立文件,而 libarchive.js 的 WASM 接口只接受单个 File,浏览器端暂时做不到。建议先在桌面合并——Mac 用免费的 The Unarchiver 或 Keka,Windows 用 7-Zip 或 WinRAR:把所有分卷文件放到同一目录,用桌面工具打开第一卷(.part1.rar 或 .rar),它会自动读取后续分卷解压出完整内容。合并后的单文件如需再在浏览器里处理(比如挑选下载),可以先解压再重新打包为单个 ZIP 上传。
常见原因:(1) RAR v5 + AES-256 的"加密文件名"模式 — 文件列表本身都被加密,需要先输密码才能看到文件,先输密码再看是否显示列表。(2) SFX 自解压 exe — 带可执行头的 RAR,尝试改扩展名为 .rar 再上传。(3) 文件已损坏 — 换源重新下载。(4) 多分卷 RAR — 见上一条,需先在桌面合并。
首次会下载 libarchive 的 WebAssembly 引擎(约 1 MB),下载完成后才能解压第一个文件。浏览器会自动缓存,同一浏览器后续访问无等待。首页和其他工具不受影响——只有进入解压工具并上传文件时才触发下载。
会。勾选的文件会按压缩包内的原始路径(如 docs/images/logo.png)打包到输出 ZIP,目录层级完整保留。如果只下载单个文件,则直接下载原文件不打包。
大部分保留——ZIP / TAR / 7z / RAR 规范都存了文件时间戳,libarchive 会读取并写到导出的 File 对象里。但浏览器 <a download> 机制不保证保留修改时间(浏览器实现差异),下载到本地后通常显示为"下载时间"。如果需要精确时间戳,勾选后打包 ZIP 再下载,ZIP 内部的时间戳是正确的,解开就能看到。