コード圧縮 Minify(HTML・CSS・JS・JSONの容量削減)
HTML・CSS・JS・JSONのコメントと不要な空白を取り除いて容量を減らします。貼り付けやファイルを開く(ドラッグ&ドロップ可)ことができ、結果のコピーや.minファイルのダウンロードも可能です。コードはサーバーに送信しません。
貼り付けたコードや開いたファイルはこのブラウザ内でのみ処理され、送信・保存されません。共用パソコンでは使用後に画面を閉じてください。
圧縮結果
- 圧縮前
- 圧縮後
- 削減サイズ
- gzip転送サイズ(目安)
- –
サーバーがgzipで送る場合の転送サイズの目安です(ブラウザの圧縮機能を使用。非対応のブラウザでは – と表示)。
このツールはコメントと空白だけを減らします。変数名の変更やコードの書き換えはしないため、terserやesbuildほどは小さくなりませんが、動作は変わりません。公開するコードは圧縮後に動作を確認してください。
圧縮の仕組み
- 4言語すべて、このサイト独自の圧縮器です。文字列・正規表現・テンプレートリテラル・url()の中は変更せず、コメントとトークン間の空白だけを減らします。
- JSでは改行を含む空白を改行1つとして残します。自動セミコロン挿入(ASI)が改行に依存するためです。
- HTMLはブロック要素の間の空白だけを削除し、インライン要素の間の1つの空白は残して文字がくっつかないようにします。<pre>・<textarea>の中はそのままで、<script>・<style>の中はJS・CSSとして圧縮します。
- JSONは文字列の外の空白だけを削除します。パースして書き直さないため、大きな整数・1.0・Unicodeエスケープは変わりません。
- ファイルを開くと拡張子から言語を選び、保存時は app.js → app.min.js のように .min が付きます。
よくある質問
コードやファイルはサーバーにアップロードされますか?
いいえ。ファイルはブラウザが読み込むだけで、すべてこのタブの中で処理されます。
圧縮したら動作が変わりました。
コメントと空白だけを減らす方針ですが、ごくまれな構文(正規表現の判別が曖昧なコードなど)で誤ることがあります。お知らせください。それまでは元のコードを保管してください。
変数名を短くしないのはなぜですか?
名前の変更にはコードの完全な解析が必要で、誤ると動作が静かに変わります。安全を優先して空白とコメントだけを扱います。さらに小さくするにはサーバーのgzipやビルドツール(terser、esbuild)を使ってください。
.minファイルと元ファイルの管理は?
元ファイルは別に保管し、.minだけを配布してください。圧縮版は人が読んで直すのが困難です。