開發工具 · FREE ONLINE TOOL

JavaScript/CSS 壓縮工具

免費線上 JavaScript 與 CSS 壓縮工具,支援保守及進階壓縮、原始碼比較、UTF-8 大小統計、複製及下載 .min.js/.min.css。所有程式碼在瀏覽器處理。

程式碼僅在瀏覽器處理

JavaScript:選擇 Script 或 ES Module;TypeScript/JSX 等請先編譯。

壓縮後顯示實際 UTF-8 大小與節省比例

保守 JS 關閉 AST 最佳化與名稱縮短;保守 CSS 關閉規則重組,但仍使用 CSSO 的值與語法簡化。兩種模式都保留 /*!…*/、@license、@preserve、@copyright 授權註解。舊 sourceMappingURL 會移除,本版不產生 source map。

上限:輸入 1 MiB、輸出 4 MiB(UTF-8)、每次背景工作 5 秒(含引擎載入)。可取消、修改設定或原文來終止工作。大小統計不是 gzip/Brotli 傳輸大小;textarea 可能將換行正規化為 LF。

CSS 支援一般規則、變數、calc()、@media、@supports、@keyframes、@font-face、@layer 與 @property;CSS nesting、範圍比較式 @container 等引擎無法完整解析的語法會停止。不提供完整 CSS 驗證或特定瀏覽器相容性認證。

不執行 JavaScript、不套用 CSS、不讀取 import 或 URL 指向的資源;輸入和結果只在本頁記憶體,不上傳、不保存到 Storage、網址、Console、廣告或 Analytics。重新整理即清除;請避免在不受信任的裝置或擴充套件環境貼入私有程式碼與金鑰。

本機引擎:Terser 5.51.2(BSD-2-Clause)、CSSO 5.0.5(MIT)。依賴版本與開源授權。其他工具:JSON 格式化與驗證、Regex 測試、文字雜湊。

HOW TO USE

簡單幾步,就完成。

  1. 貼上 JavaScript 或 CSS,選擇語言;JS 需指定 Script 或 ES Module。
  2. 預設保守壓縮;需要進階最佳化時主動切換,再按開始壓縮。
  3. 比較唯讀結果與 UTF-8 大小,在實際專案測試後複製或下載;修改原文會清除舊結果。

生活裡的這些時刻,都用得到

適合壓縮小型網站腳本、樣式或學習 AST 壓縮差異;大型專案建議沿用專案建置流程與測試。

GOOD TO KNOW

你可能還想知道

保守和進階有什麼差別?

保守 JS 使用 Terser,關閉 AST 最佳化與名稱縮短;進階只開啟部分簡化與區域變數縮短,仍保留函式/類別名稱、頂層名稱與屬性,不移除 console 或 debugger、不開 unsafe。CSS 使用 CSSO,保守關閉 restructure 與 forceMediaMerge;進階只開啟 restructure。兩者都需要在實際專案測試,不保證任意輸入完全等價。

支援 TypeScript、JSX 或新版 CSS 嗎?

JS 僅處理標準 JavaScript,包括 ES2015+、async、class、模板字串與明確選擇的 ES Module;TypeScript、JSX、TSX、Vue、Astro 請先編譯。CSS 支援常見規則、@layer 和 @property;nesting、範圍比較式 @container 或其他無法完整解析的語法會停止並保留原文。壓縮工具不等於完整驗證器。

會保留授權註解和 source map 嗎?

保留 /*!…*/、@license、@preserve、@copyright 的實際註解,依原順序集中到檔案開頭(JS shebang 之後),並核對是否完整保留。舊 sourceMappingURL/sourceURL 指示會移除並提醒,本版不產生 source map。授權與 map 指示混在同一註解時請先拆開。

為什麼壓縮後反而變大?

原文很短或授權註解需要分隔時,結果可能增加 bytes。顯示的是 textarea 內容經 TextEncoder 編碼的實際 UTF-8 大小、節省 bytes 與百分比,不是假設 gzip 或 Brotli 的傳輸大小;空輸入的比例為 0%。

程式碼會上傳、執行或儲存嗎?

不會。引擎隨本站本機打包,在可取消的 Web Worker 中解析與壓縮,不執行 JS、不套用 CSS、不追蹤 import 或 URL、不使用 eval 或外部 API。程式碼只留本頁記憶體,不寫入 Storage、網址、Console、廣告或 Analytics。請避免在不受信任的裝置/擴充套件環境貼入私密原始碼。

容量或執行失敗怎麼辦?

輸入最多 1 MiB、輸出最多 4 MiB(UTF-8);每次 Worker 含引擎載入上限 5 秒。取消、修改輸入或切換設定會立即終止舊 Worker,晚到結果不會覆蓋新輸入。失敗時原文保留,請拆分程式碼或用專案建置工具。