本文へスキップ
CSS

CSS圧縮・整形

CSSを整形・圧縮しサイズ差を表示。

元のサイズ
189 B
圧縮後
112 B
削減率
−40.7%
.card{display:flex;padding:16px;border-radius:12px;background:#fff}@media (min-width:600px){.card{padding:24px}}

壊れた圧縮結果を返すより失敗を報告することを優先しています。ゼロ値の単位除去やプロパティの並べ替えなど、挙動が変わりうる最適化はあえて行いません。ライセンスコメント(/*! ... */)は圧縮後も保持されます。すべての処理はブラウザ内で完結し、外部へ送信されません。

CSS圧縮・整形について

CSS圧縮・整形ツールとは、スタイルシートを人間が読みやすい形に整えたり(Beautify)、空白やコメントを削ってファイルサイズを小さくしたり(Minify)するユーティリティです。多くの簡易な実装は正規表現の一括置換でこれを行いますが、それでは文字列リテラルの中身(例: content: "a;b")や url() の中のクエリ文字列・data URI(例: url(data:image/svg+xml;base64,...))を誤って書き換え、スタイルシートを壊してしまうことがあります。 toco.toolsのCSS圧縮・整形ツールは、文字列・コメント・url() を正しく認識する字句解析を行ってからセレクタと宣言の構造を組み立てる方式を採用しており、これらのハザードを安全に扱います。/*! ... */ 形式のバン(!)コメント、つまりライセンス表記は圧縮後もそのまま保持されます。属性セレクタの引用符付きの値(a[title="x y"])や、@media・@supports・@font-face・@keyframes・@import・@charset といった主要なat-ruleのネスト構造にも対応しています。 圧縮で行っているのは、コメントの除去・空白の圧縮・区切り記号まわりの空白除去・ブロック末尾の余分な「;」の省略・空の空ルールの削除・#aabbcc→#abcのようなHEXカラー短縮・0.5→.5のような小数の先頭ゼロ省略といった「意味を変えないことが保証できる」最適化のみです。0pxのような値からの単位除去(flex-basisなど一部のプロパティでは意味が変わり得ます)や、プロパティの並べ替え・統合(カスケードの挙動が変わり得ます)はあえて実装していません。最後の数バイトを削ることより、あなたのスタイルシートを壊さないことを優先する、という立場です。壊れたCSSを入力した場合も、黙って不正な結果を返すのではなく、エラーとして分かりやすく表示します。すべての処理はブラウザ内で完結し、外部へは一切送信されません。

使い方

  1. CSSを貼り付ける
  2. MinifyまたはBeautifyを選ぶ
  3. 圧縮率を確認して結果をコピー

よくある質問(FAQ)

他の圧縮ツールと何が違いますか?

正規表現の一括置換ではなく、文字列・コメント・url()を認識する専用のパーサで処理しています。そのため content: "a;b" のような文字列内のセミコロンや、url(data:image/svg+xml;base64,...) のようなdata URIを誤って壊すことがありません。

ライセンスコメントは消えますか?

/*! で始まるバンコメントは圧縮後もそのまま残ります。それ以外の通常のコメント(/* ... */)は削除されます。

0pxの単位除去やプロパティの並べ替えはしませんか?

しません。0px→0のような単位除去はflex-basisなど一部のプロパティで意味が変わることがあり、プロパティの並べ替え・統合はカスケードの挙動を変える可能性があるため、安全性を優先してあえて実装していません。

壊れたCSSを入力するとどうなりますか?

波括弧の対応が取れていない、文字列やコメントが閉じていないといった構文エラーを検出した場合、黙って不正な結果を返さずエラーメッセージを表示し、出力欄は空のままになります。

入力したCSSは外部に送信されますか?

いいえ。圧縮・整形の処理はすべてブラウザ内のJavaScriptで完結し、toco.toolsのサーバーを含め、どこにも送信されません。