JS 圧縮ツール
コメント・空白・冗長文字を削除して JavaScript を縮小——ライブサイズ統計、コピー、ダウンロード付き、100% ブラウザ内で完結。
入力 JS
出力
JavaScript 圧縮とは?
JavaScript 圧縮とは、実行時の挙動を変えずにソースコードから不要な文字を削除する処理です。圧縮ツールはコメント、空白、改行、その他の冗長バイトを剥ぎ取り、機能的に同一で有意に小さいスクリプトを生成します。一般的に圧縮された JS ファイルは、整形式の元ソースより 40〜60% 小さくなり、gzip 後はさらに小さくなります。
圧縮されたコードは JavaScript エンジンによってまったく同じ方法で解析・実行されるため、アプリケーションの挙動は変わりません——ファイルサイズ、解析時間、転送時間だけが改善されます。これにより圧縮は安全で影響の大きい最適化となり、本番ウェブサイトはすべて適用すべきです。
JavaScript を圧縮する理由
JavaScript の圧縮は本番ウェブサイトに具体的な利点をもたらします。ファイルが小さくなるほどネットワーク上のダウンロードが高速化し、モバイル接続やデータ制限のあるユーザーにとって特に価値があります。ブラウザがスクリプトをより速く解析し、ページがインタラクティブになるまでの時間を短縮します。圧縮されたファイルは gzip や Brotli でより良く圧縮され、転送層での節約効果が増幅します。
複数の大規模な JavaScript バンドルを持つサイトでは、合計の節約量が大きくなり、ページ読み込みごとに数百キロバイト〜数メガバイトを削減できます。これは Core Web Vitals の First Contentful Paint、Largest Contentful Paint、Time to Interactive などのスコアを改善し、検索エンジンのランキングシグナルとして扱われます。
圧縮中に削除されるもの
JavaScript 圧縮ツールは、スクリプトの挙動を保ちながらいくつかのカテゴリの非機能コンテンツを削除します:
- ブロックコメント——
/* ... */ブロックは完全に削除されます。 - 行コメント——
// ...行末までのコメントは削除されます。 - 空白——先頭、末尾、および連続する複数のスペースは折りたたまれるか削除されます。
- 改行——意味を持たない改行やタブは削除されます。
- 冗長な区切り文字——演算子や句読点の周囲のスペースは安全な場合に削除されます。
- 末尾のセミコロン——閉じ波括弧の前やファイル末尾の最後のセミコロンは削除される場合があります。
本コンバーターはこれらの変換の安全で保守的なセットを適用します。変数の名前変更、識別子の難読化、制御フローの書き換えは行わないため、出力は検証とデバッグが容易です。文字列、正規表現、テンプレートリテラルは保持されます。
JavaScript を圧縮するタイミング
圧縮はビルドパイプラインの最後に配置し、本番に出荷するファイルに適用すべきです。典型的なワークフローは、開発中はクリーンでコメント豊富な JavaScript を記述し、デプロイステップの一部として圧縮ツールを実行することです。一般的な圧縮のタイミングには次のものがあります:
- 本番ビルド。公開前に Webpack、Vite、Rollup、esbuild などのバンドラを通じて自動的に圧縮を実行。
- 簡単な一回限りの最適化。手書きのスクリプトをこのツールに貼り付けて、静的サイトや埋め込み用のより小さなコピーを取得。
- サードパーティスクリプトの監査。未圧縮で出荷されるベンダースクリプトを圧縮してフットプリントを削減。
- ブックマークレットやスニペット。ブックマークや共有スニペットライブラリに貼り付ける前に圧縮。
元の読みやすいソースは真実のソースとして常に保管してください——圧縮されたバージョンは生成物であり、手作業で編集するものではありません。
圧縮と転送圧縮の違い
JavaScript 圧縮と HTTP 圧縮(gzip や Brotli)は互いに補完的で、置き換え可能ではありません。圧縮はソーステキストから冗長な文字を削除し、転送圧縮は転送バイトをより効率的にエンコードします。両方を適用することで最小の転送サイズが得られます:まず圧縮し、次にレスポンスでサーバー側の圧縮を有効にします。
gzip 後でも、圧縮されたファイルは通常未圧縮より有意に小さいです。圧縮は転送圧縮では完全に排除できないパターン(コメントや構造的空白など)を削除するからです。最良の結果を得るには、ビルドツールで圧縮を有効にし、ウェブサーバーまたは CDN で gzip/Brotli を有効にしてください。
この JS 圧縮ツールは無料ですか?
はい、完全に無料で、登録不要、デバイスのメモリ以外に制限はなく、アップロード不要——すべてローカルで実行されます。
圧縮でコードは壊れますか?
いいえ。このツールは JavaScript エンジンがスクリプトを実行する方法に影響しない文字のみを削除します。実行時の挙動は同一です。文字列、正規表現、テンプレートリテラルは保持されます。
変数の名前変更やコードの難読化をしますか?
いいえ。このツールは安全な空白とコメントの削除のみを行います。識別子の名前変更や制御フローの書き換えは行わないため、出力は読みやすくデバッグが容易です。
開発中に JS を圧縮すべきですか?
いいえ——デバッグしやすいよう開発中は読みやすい JS を保持してください。圧縮は本番ビルド時のみ行います。
スクリプトはアップロードされますか?
いいえ。すべての処理はローカルで行われ、JavaScript がブラウザから離れることはありません。