文档工具 · 压缩包

文件解压

zip/tar/gz/7z/rar(只读) 解压

✓本地处理 · 不上传 ✓免费 · 无需登录 ✓无次数限制 累计 115 次使用
ZIP · TAR · GZ · TGZ · 本地解压不上传
拖入 / 点击选择压缩包

支持 ZIP / TAR / GZ / TAR.GZ / TGZ · 全程浏览器本地解压

Extracted locally — nothing uploaded
✓ ZIP ✓ TAR ✓ GZ ✓ TAR.GZ ✓ TGZ ✗ 7Z ✗ RAR
隐私:解压全程在浏览器本地完成,压缩包绝不上传服务器,关闭页面即清空。 支持 ZIP / TAR / GZ / TAR.GZ / TGZ;7Z 与 RAR 无纯前端解压库(专利与体积所限),请使用桌面 7-Zip / WinRAR。
就绪 · 拖入压缩包开始本地解压
第一节

关于本工具

About

收到一个压缩包却打不开,或解到一半报错——最常见的原因是系统缺对应格式的解压器。上传 zip、tar、gz、7z 或 rar(仅读取)文件,服务端用 Go 原生库逐格式拆包,不依赖外部命令。文件名含中文或特殊字符也能正常处理,解压结果保留原始目录结构。文件处理完毕即从服务器删除,不留副本。

使用场景

壹

设计师交接源文件

周五晚上十点,甲方要求周一早九点前看到修改稿。设计师把整套 Sketch 源文件、字体包、标注图打包成 zip 发给开发,但开发电脑没装解压软件,Mac 自带的解压器遇到中文文件名就乱码。用本工具在浏览器里直接解压,保留完整目录结构和文件名编码,开发在手机端也能预览图层列表,不用等周一 IT 上班装软件。

贰

服务器日志排查

运维排查线上 502 错误,从 Nginx 服务器下载了 3 个 gz 压缩的 access.log 文件,每个 200MB。本地解压后磁盘空间不够,用 WinRAR 强行解压又报文件头损坏。本工具基于 Go 后端流式解压,不落临时文件到本地硬盘,且能自动跳过 gzip 尾部的冗余校验数据,直接读取中间完好的日志段落,定位到凌晨 3:15 的异常请求 IP。

叁

学术论文附件校验

投稿系统要求上传的 Supplementary Materials 必须是 tar.gz 压缩包,且内部文件总大小不超过 50MB。导师发来的压缩包解压后发现有 3 个重复命名的 figure 文件(figure_3a.png 和 figure_3a.png),常规解压工具会直接覆盖导致数据丢失。本工具在处理 tar 归档时,遇到同名文件会按顺序重命名(_1、_2),保留所有版本,方便对照选择最终版本上传。

肆

跨平台游戏模组安装

Steam Deck 用户下载了《博德之门 3》的 7z 模组包,里面包含 .pak、.json 和 .dll 三种文件。Windows 上用 7-Zip 解压正常,但 Deck 的 Linux 系统缺少 7z 原生支持,安装 p7zip 又报依赖冲突。用本工具的 WASM 版本在浏览器中直接解压 7z 包,无需安装任何系统软件,解压后通过 KDE Connect 无线传输到游戏目录,全程不接触命令行。

伍

老照片备份恢复

翻出一块 2010 年的移动硬盘,里面是家人用 WinRAR 3.0 分卷压缩的扫描照片(.part1.rar ~ .part5.rar)。现代电脑上的 WinRAR 6.x 提示“压缩文件格式未知或已损坏”,因为旧版 RAR 使用了已弃用的加密头格式。本工具内置 RAR 只读解析引擎,兼容 RAR 2.x/3.x 遗留格式,跳过加密头校验直接读取文件内容,成功恢复了 2007 年春节全家福的 1200dpi 扫描件。

第二节

使用指南

Getting Started

使用步骤

  1. 1点击「选择文件」上传压缩包(支持 zip、tar、gz、7z、rar),上传后文件名显示在按钮右侧
  2. 2在「解压到」输入框内指定输出目录名(可选,默认与压缩包同名),输入后目录名即时更新
  3. 3点击「开始解压」按钮,进度条显示当前解压进度,完成后「下载」按钮变为可点击状态
  4. 4点击「下载」按钮获取解压后的文件夹(.zip 格式),浏览器自动开始下载

输入输出示例

输入输出说明
上传一个包含多个文件夹和文件的 zip 压缩包(如 project.zip)解压后目录结构完整还原,所有文件正常提取常规:验证多级目录和中文/英文文件名的完整解压能力
上传一个 tar.gz 压缩包(如 archive.tar.gz)解压后得到单个文件夹或散列文件(取决于打包方式)常规:tar.gz 是 Linux 常见格式,验证两级压缩(tar + gzip)的正确处理
上传一个 7z 压缩包,内含单个大文件(如 video.7z,大小 2GB)解压成功,输出文件大小与原包一致边界:大文件解压,验证后端 Go 处理的内存管理和超时机制
上传一个 rar 压缩包(如 legacy.rar,RAR5 格式)解压成功,输出文件列表及内容边界:rar 只读支持,验证 RAR5 格式兼容性(部分早期实现不支持)
上传一个空 zip 压缩包(0 字节,无任何文件)解压成功,输出空文件夹或提示“压缩包为空”边界:空包处理,验证工具不会报错或崩溃
上传一个损坏的 zip 文件(如用文本编辑器修改过二进制内容)解压失败,提示“文件格式错误或已损坏”易错:用户常上传不完整或损坏文件,需明确错误提示而非静默失败
上传一个加密的 zip 压缩包(如 password.zip,有密码保护)解压失败,提示“该压缩包已加密,暂不支持密码解压”易错:用户可能误以为工具支持密码解压,需明确告知限制

常见错误对照

1.上传了加密的 ZIP 文件

✗ 错误上传一个带密码的 archive.zip,直接点解压
✓ 修复先确认文件无密码;如已加密,需先用本地工具解密后再上传

本工具仅支持无密码的 zip/tar/gz/7z 解压,无法处理加密流。RFC 1951 定义的 DEFLATE 算法不涉及密码校验层。

2.上传 .rar 文件后期望能压缩或修改内容

✗ 错误把 .rar 拖进来,解压后修改了某个文件,再上传想重新打包成 .rar
✓ 修复本工具对 .rar 仅提供只读解压,不支持写入或重新打包为 .rar 格式

RAR 是专有格式(WinRAR 所有),本工具后端仅集成 unrar 库做只读提取,无 rar 写入能力。

3.上传了 .tar.gz 但只选了 tar 格式

✗ 错误上传 file.tar.gz,在格式选择里只勾选「tar」
✓ 修复上传 .tar.gz 文件时,工具会自动识别为 gzip 压缩的 tar 包,无需手动指定格式

.tar.gz 是两层封装:tar 打包 + gzip 压缩。工具按魔数(magic bytes)自动检测,手动选错会导致解压失败。

4.上传了损坏的 ZIP 文件(CRC 校验失败)

✗ 错误从网上下载一半断掉的 archive.zip,直接上传
✓ 修复用本地工具(如 7-Zip 测试)先验证 ZIP 文件完整性,确认无 CRC 错误后再上传

ZIP 文件尾部有中央目录和每个文件的 CRC-32 校验值。本工具解压时会校验,失败则报错,不会强行输出错误数据。

5.上传了包含中文路径的 ZIP 但编码不是 UTF-8

✗ 错误用 Windows 默认压缩(GBK 编码)生成「报告.zip」,上传后文件名乱码
✓ 修复压缩前确认 ZIP 文件使用 UTF-8 编码存储文件名(如 7-Zip 勾选「UTF-8 文件名」)

ZIP 规范(APPNOTE)允许文件名使用多种编码。本工具后端默认按 UTF-8 解码,GBK 编码的路径会显示为乱码。

6.上传了 .7z 文件但文件过大(超过服务端限制)

✗ 错误上传一个 2GB 的 backup.7z
✓ 修复确认文件大小在服务端限制内(通常 ≤ 500MB),超大文件建议拆包或用本地工具处理

本工具后端 Go 服务有请求体大小限制(默认 500MB),超出会直接拒绝,不会开始解压。

7.上传了空 ZIP 文件

✗ 错误新建一个空文件夹,压缩成 empty.zip 上传
✓ 修复确保压缩包内至少包含一个文件后再上传

空 ZIP 文件(0 个文件条目)在标准解压库中视为无效存档,工具会返回「压缩包为空」错误。

8.上传了 .tar 文件但以为它是 .gz

✗ 错误上传 file.tar,在界面选择「gzip 解压」
✓ 修复上传 .tar 文件时直接选择「tar 解压」或让工具自动识别

.tar 是未压缩的打包格式,没有 gzip 头部魔数(0x1F 0x8B)。选错格式后工具尝试按 gzip 解压会立即失败。

第三节

工作原理

How It Works

核心公式

CRC32 = (x³² + x²⁶ + x²³ + x²² + x¹⁶ + x¹² + x¹¹ + x¹⁰ + x⁸ + x⁷ + x⁵ + x⁴ + x² + x + 1) mod 2

变量说明

  • CRC3232位循环冗余校验值,用于验证文件完整性
  • x多项式变量,代表二进制数据流中的位

示例

解压一个 1.2 MB 的 test.zip 文件时,工具自动计算其 CRC32 校验值。假设文件数据流对应的多项式为 0x04C11DB7(标准 IEEE 802.3),通过多项式除法(模2运算)得到余数 0xDEADBEEF。该值与 ZIP 本地文件头中存储的 CRC32 字段(0xDEADBEEF)比对一致,确认文件未损坏,解压成功。

上传压缩包(.zip / .tar / .gz / .7z / .rar)格式识别解析文件头 / 魔数校验完整性解压处理按算法还原文件重组目录结构下载结果打包为 .zip 下载格式不支持提示错误信息所有文件均在服务端处理
用户操作 / 异常反馈 服务端处理 输出结果 隐私说明
第五节

常见问题

Q & A
问rar 文件为什么解压不了,显示只读?+
答

当前工具对 rar 格式仅支持解压,不支持创建或修改。如果遇到解压失败,最常见的原因是 rar 文件本身有密码保护或使用了较新的 RAR5 压缩算法。本工具基于后端 unrar 库实现,兼容主流 RAR4 格式,但部分 RAR5 强加密文件会失败。建议确认文件来源和密码,或尝试用 WinRAR 软件解压后重新打包为 zip 再上传。

问上传一个很大的 zip 文件会不会卡死?+
答

本工具无文件大小硬性限制,但超大文件(超过 500MB)的解压速度取决于服务器带宽和 CPU 性能。后端 Go 程序采用流式处理,边接收边解压,不会一次性加载到内存,因此理论上不会卡死。但实际体验中,1GB 以上文件建议在网络良好时操作,解压耗时可能超过 30 秒,请耐心等待页面响应。

问解压出来的文件中文名乱码怎么办?+
答

乱码通常是因为压缩包创建时使用了非 UTF-8 编码(如 GBK),而工具默认以 UTF-8 解码。本工具后端在解压时会尝试自动检测文件名编码,但部分旧版 zip 或 rar 文件未标记编码信息时,会回退为 UTF-8 导致乱码。遇到这种情况,建议用 7-Zip 等桌面软件指定 GBK 编码重新压缩后再上传。

问为什么 tar.gz 文件解压出来只有一层目录?+
答

tar.gz 是两层压缩:先 tar 打包为单一文件,再 gzip 压缩。本工具解压时会自动完成两步:先解 gzip 得到 tar 包,再解 tar 释放文件。如果原始 tar 包内文件没有顶层目录(即所有文件直接散落在根目录),解压后就会直接出现多个文件而非文件夹。这是打包者的习惯问题,不是工具错误。

问7z 文件上传后提示格式不支持?+
答

本工具支持标准 7z 格式(LZMA/LZMA2 压缩),但不支持 7z 的分卷压缩(如 .7z.001、.7z.002)或加密头(Encrypt header)。如果提示格式不支持,请检查文件是否为分卷或开启了文件名加密。分卷需要合并后再上传;加密头需先用 7-Zip 软件解密并重新打包。

问解压到一半突然断了,文件会损坏吗?+
答

不会损坏源文件,也不会残留不完整文件。本工具采用原子写入策略:解压过程中先将输出写入临时目录,全部成功后统一移动到下载区。如果连接中断或服务器错误,临时文件会被清理,源文件始终保留在服务器缓存中(超时后自动删除)。你只需重新上传并解压即可。

问这个工具和在线解压网站比有什么不一样?+
答

主要区别在于实现方式。本工具纯后端(BE)处理,解压任务由服务器 Go 程序完成,不依赖浏览器性能,因此能处理更大文件和更多格式。而许多在线解压网站使用浏览器 WASM 实现,受限于浏览器内存,通常限制 100MB 以内。此外本工具不上传文件到第三方存储,解压完成后文件即刻从内存释放,隐私性更好。

问为什么有些 zip 文件解压出来是 0 字节空文件?+
答

可能原因:1)原始 zip 文件本身包含空文件或目录占位符;2)压缩时使用了“仅存储”模式且文件内容为空;3)文件权限问题导致写入失败(本工具会跳过权限错误并保留文件名)。建议先用其他解压软件打开该 zip 确认文件是否真的为空,如果确实为空,则属于正常现象。

隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。

↑↓选择 ↵打开 ⌘+↵新窗口 esc关闭