ToolAct工具行動

檔案打包壓縮

多檔案打包為 ZIP 壓縮檔,支援拖曳上傳,瀏覽器本地處理

上傳檔案

拖曳檔案到此處,或點選選擇檔案

支援所有檔案類型,可上傳多個檔案

什麼是 ZIP 壓縮?

ZIP 打包會把選中的多個檔案合併成一個可下載的壓縮檔,通常能減小體積,並讓傳輸與歸檔更方便。它適合傳送零散檔案、準備交付包、整理截圖、在郵件中附加多份檔案,或做小型備份。ZIP 是無損歸檔格式,解壓後檔案應能完整還原;但 JPG、PNG、MP4、PDF 等本身已壓縮過的格式,體積未必會明顯變小。這個瀏覽器工具會在本機產生壓縮檔,選中的檔案不需要上傳到伺服器。它較適合中等規模的檔案集合,特別大的檔案可能占用較多記憶體。ZIP 打包不是加密,敏感檔案仍需要密碼保護或其他安全流程。

使用方式

使用方式

  1. 將檔案拖曳到上傳區域,或點選「Select Files」按鈕來加入檔案
  2. 檢視檔案清單,必要時移除不需要的檔案
  3. 輸入 ZIP 檔案名稱(選填)
  4. 點選「Create ZIP Archive」按鈕以下載壓縮檔

壓縮說明

  • 建立壓縮檔前,請先檢視檔案名稱與資料夾結構;ZIP 會保留原始路徑,可能暴露非預期的名稱。
  • 若需長期儲存或與其他系統共用,請避免在檔案名稱中使用不支援的字元。

使用場景

將零散檔案打包成本機 ZIP 進行快速交付拖曳或選取多個檔案,檢視檔名、MIME 類型、個別大小和總大小,在建立壓縮檔前移除不該包含的內容。自訂名稱欄位控制下載的 .zip 檔名,檔案清單會即時反映新增和移除的變動。這是傳送截圖資料夾、一堆收據或工具匯出的小型備份的整潔方式。
在瀏覽器中壓縮檔案,無需上傳到任何地方頁面使用 JSZip,透過 arrayBuffer 讀取每個選取的 File,並以 DEFLATE level-6 寫入壓縮檔作為 Blob 下載。DEFLATE 是 ZIP 的標準壓縮方式,在壓縮率和速度之間取得平衡;7-Zip 的 LZMA 雖然能將文字和二進位檔案壓得更小,但產出的 .7z 格式有時需要額外外掛才能用標準解壓縮工具開啟。由於所有步驟都在本機執行,草稿、匯出和截圖都不會離開裝置,而 JPG、MP4、PDF 等已壓縮格式通常縮小幅度有限,純文字或 CSV 資料夾的壓縮效果最明顯。
不需要資料夾控制時建立可預期的壓縮檔這個工具按檔名加入選取的檔案,刻意保持工作流程簡潔:沒有資料夾選擇器、沒有密碼加密、沒有壓縮等級設定。它適合乾淨的平面交付壓縮檔,而非保留目錄結構。如果子資料夾結構很重要,使用具有真正資料夾選擇器的桌面壓縮軟體會更可靠。
估算最終大小,留意 4 GB 的 ZIP64 上限加入檔案時留意累計總大小,如果接近郵件附件或上傳限制就移除較大的檔案。傳統 ZIP 格式單一壓縮檔上限約 4 GB,超過此大小的檔案需要 ZIP64,而本工具不支援 ZIP64,因此過大的選取會導致建立失敗。JSZip 也是在記憶體中建立壓縮檔,數 GB 的選取量可能在下載開始前就耗盡分頁記憶體。
當檔案需要密碼保護、加密或保留時間戳記時,請改用其他工具本頁面不提供 AES 加密、真正的密碼提示或資料夾選擇器,需要憑證保護的壓縮檔請使用桌面壓縮軟體。需注意傳統 ZIP 密碼機制屬於舊式串流加密,對於有心攻擊者來說防護力不足,而本工具完全不加入任何加密。Unicode 檔名會以 UTF-8 旗標寫入,但工具不會保留原始檔案的修改時間,因此備份壓縮檔在解壓後會顯示為剛建立的時間。

技術原理

ZIP 容器由 PKWARE 的 APPNOTE 規範定義(目前版本為 6.3.10)。一個 `.zip` 檔案由三種記錄類型組成:每個儲存的檔案前都有 Local File Header,帶有 4 位元組簽章 `0x04034b50`(PK\x03\x04),後面跟隨壓縮資料;在最後一個檔案之後是 Central Directory,這是一個 File Header 表(簽章 `0x02014b50`),列出每個項目的名稱、大小、CRC-32 以及指回本地標頭的偏移量;最後 End of Central Directory 記錄(簽章 `0x06054b50`)位於檔案最末端,指向中央目錄的起始位置。讀取器從後向前解析 `.zip`:從檔案尾端反向掃描尋找 EOCD 簽章,跳轉到中央目錄,然後尋找每個本地標頭——這就是為什麼 ZIP 支援串流附加和快速隨機存取單一項目,而無需讀取整個壓縮檔。 本工具使用 JSZip 程式庫(或 fflate 作為更快的替代方案)在瀏覽器中組裝壓縮檔。使用者選取的每個 `File` 物件都會以 `ArrayBuffer` 讀取,透過 `zip.file(name, buffer)` 加入,然後 `zip.generateAsync({ type: 'blob', compression: 'DEFLATE', compressionOptions: { level: 6 } })` 產生一個 `Blob`,透過 `URL.createObjectURL()` 提供使用者下載。DEFLATE 是 ZIP 的標準壓縮方法,定義於 RFC 1951;它結合了 LZ77 滑動視窗字典匹配與 Huffman 編碼。壓縮等級 6(預設值)是一個平衡點——等級 1 大約快 4 倍但大 5-15%,而等級 9 比等級 6 慢 2-3 倍,通常只能額外縮小 1-2%。 完整性由 CRC-32 確保,使用 IEEE 802.3 多項式 `0xEDB88320`(反轉)逐檔案計算,並儲存在本地檔頭和中央目錄項目中。當通用用途旗標位元 11 設定時,檔名以 UTF-8 寫入(自 APPNOTE 6.3.0,2006 年起為強制要求);若未設定此旗標,較舊的工具會假設本地 OEM 字碼頁(DOS 上為 CP437,中文 Windows 上為 CP936/GBK),非 ASCII 檔名會出現亂碼。傳統 ZIP 格式使用 32 位元欄位表示大小和偏移量,單一項目和整個壓縮檔的上限約為 4 GiB(2³² − 1 = 4,294,967,295 位元組);ZIP64 在 APPNOTE 4.5+ 中定義,透過額外欄位將這些擴展為 64 位元,但 JSZip 的記憶體建構方式限制了實際壓縮檔大小在數百 MB 左右,超過就會耗盡分頁記憶體。

  • ZIP 檔案結構(PKWARE APPNOTE 6.3.10):Local File Headers(`0x04034b50`)+ 檔案資料,然後是 Central Directory(`0x02014b50`),以 EOCD(`0x06054b50`)結尾。
  • 讀取器從尾端解析:反向掃描尋找 EOCD 簽章,然後跳轉到中央目錄——這使得無需串流整個壓縮檔即可快速提取單一檔案。
  • DEFLATE 壓縮(RFC 1951)= LZ77 滑動視窗字典 + Huffman 編碼;等級 6 為預設平衡點,等級 9 約提升 1-2% 但慢 2-3 倍。
  • 完整性:使用多項式 `0xEDB88320`(反轉的 IEEE 802.3)的 CRC-32,儲存在本地標頭和中央目錄中;提取時進行驗證。
  • UTF-8 檔名需要通用用途旗標位元 11(APPNOTE 6.3.0,2006);若未設定,較舊工具會回退到 CP437 / 本機 OEM 字碼頁,非 ASCII 檔名會出現亂碼。
  • 傳統 ZIP 的大小限制為 2³² − 1 = 4,294,967,295 位元組(每個檔案和整個壓縮檔);ZIP64 額外欄位(APPNOTE 4.5+)擴展至 64 位元以支援更大的資料。
  • 瀏覽器實作:JSZip / fflate 透過 `arrayBuffer()` 讀取每個 `File`,在記憶體中建構壓縮檔,並以 `Blob` 下載串流輸出——無需伺服器上傳。

範例

專案檔案打包

輸入:  src/、package.json、README.md(數十個檔案)
輸出:  project-2026-06-11.zip(單一壓縮檔,deflate 壓縮)
用途:  與隊友分享某個快照或附加到版本發佈

多檔案傳輸(減少額外負擔)

輸入:  100 張小型圖片,每張 5-50 KB(合計約 3 MB)
輸出:  photos.zip(單一檔案、單次 HTTP 請求,無逐檔負擔)
用途:  將大量小檔案上傳到按檔案計費的電子郵件或儲存服務時

檔案整理

輸入:  invoice.pdf、contract.docx、signed-acknowledgement.png
輸出:  documents-2026Q2.zip
用途:  將稅務、法律或人事資料依日期整合為單一壓縮檔以利留存

常見問題

打包成 ZIP 時我的資料會被上傳嗎?

不會。ZIP 檔是在你的瀏覽器中透過 JSZip 建立。原始檔案以 FileReader API 讀取後,在本機壓縮並提供下載,整個過程都不會經過網路。

預設使用哪一級壓縮?

預設為 DEFLATE 等級 6,在速度與壓縮率之間取得平衡,與多數 ZIP 工具一致。純文字內容(紀錄檔、JSON、原始碼)能壓得很好;已壓縮過的內容(JPEG、MP4、ZIP)幾乎沒有壓縮空間。

可以加密碼嗎?

JSZip 不支援加密的 ZIP 項目。即便有版本提供密碼保護,通常使用的也是 ZipCrypto,被公認不安全且早已被破解。若要真正的密碼保護,請改用桌面版的 7-Zip 並選擇 AES-256。

檔案數量與大小限制是多少?

實際限制取決於瀏覽器記憶體。桌機通常可處理數百 MB 總量,行動裝置瀏覽器則更為吃緊。若要打包極大量資料,請使用 7-Zip、WinRAR 或命令列 zip 等桌面工具,它們會從磁碟串流,不必把所有內容塞進記憶體。

資料夾結構會被保留嗎?

會。從檔案系統把資料夾拖進來時,相對路徑會原樣保留在 ZIP 內。本頁可能提供樹狀檢視,方便你在打包前確認結構。

Windows、macOS 與 Linux 都能正常開啟嗎?

可以。JSZip 產生的是標準 ZIP 檔。UTF-8 檔名在現代系統上通用;只有非常舊的 Windows 在被強制使用非 UTF-8 字碼頁時,才可能讓中文或日文檔名變成亂碼。新版 macOS 與 Linux 一律能正確處理 UTF-8。

ZIP 與 7Z 有什麼差別?

ZIP 採用 DEFLATE 壓縮,所有作業系統都能直接開啟。7Z 採用 LZMA/LZMA2,文字壓縮率明顯更高,但需要 7-Zip 或相容軟體才能解壓。本頁只輸出 ZIP。