ToolDeck

CSS Minifier

空白とコメントを削除して CSS を圧縮

サンプルを試す

CSS 入力

圧縮済み CSS

ローカルで実行 · シークレットの貼り付けも安全
圧縮済み CSS がここに表示されます…

CSS ミニファイとは?

CSS ミニファイとは、スタイルシートの動作を変えずに不要な文字をすべて取り除くプロセスです。具体的には、空白・改行・コメント・末尾のセミコロンや不要なクォートなどの冗長な構文を削除します。ブラウザはミニファイ済みの CSS をオリジナルとまったく同じように解析します。W3C CSS Syntax Module は CSS の文法を定義しており、トークン間の空白は識別子を区切る場合を除き省略可能です。ミニファイはこの仕様を活用し、最小限の文字数まで圧縮します。

オンライン CSS ミニファイアーは、整形済みスタイルシートを転送サイズに最適化されたコンパクトな形式に変換します。削減率は通常 15〜40% で、ソースの空白量やコメントの多さによって異なります。50 KB のスタイルシートなら、ページ読み込みのたびにネットワーク転送量を 7〜20 KB 削減できます。サーバーで gzip や Brotli 圧縮と組み合わせると、ミニファイ済み CSS を圧縮する方が整形済みオリジナルを圧縮するよりも最終転送サイズがさらに小さくなります。

ミニファイはフロントエンドのビルドパイプラインにおける標準的なステップです。cssnano・clean-css・esbuild などのツールがビルドの一部としてミニファイを実行します。しかし開発中には、テスト用に単一のスニペットをミニファイしたい、クリティカル CSS ブロックをインラインで埋め込みたい、バンドル設定に追加する前にスタイルシートの圧縮率を確認したいといった場面があります。そのようなときにブラウザベースの CSS ミニファイアーが役立ちます。CSS を貼り付けてミニファイ結果をコピーするだけです。

Before · css
After · css
/* Main navigation styles */
.nav {
  display: flex;
  align-items: center;
  padding: 1rem 2rem;
  background-color: #1e293b;
}

/* Links inside nav */
.nav a {
  color: #e2e8f0;
  text-decoration: none;
  margin-right: 1.5rem;
  transition: color 0.2s ease;
}

.nav a:hover {
  color: #818cf8;
}
.nav{display:flex;align-items:center;padding:1rem 2rem;background-color:#1e293b}.nav a{color:#e2e8f0;text-decoration:none;margin-right:1.5rem;transition:color .2s ease}.nav a:hover{color:#818cf8}

この CSS ミニファイアーを使う理由

CSS を貼り付けるだけで、ミリ秒単位でミニファイ済みの出力が得られます。ビルドツールの設定も、CLI コマンドも、アカウント登録も不要です。

即時ミニファイ
入力または貼り付けと同時に出力が更新されます。ミニファイ結果とバイト削減量がすぐに表示され、ビルドステップを待つ必要はありません。
🔒
プライバシー優先の処理
すべてのミニファイはブラウザ内で JavaScript を使って実行されます。CSS がデバイスの外に出ることはなく、サーバーに送信されることもありません。
📦
正確なサイズ表示
元のサイズ・ミニファイ後のサイズ・削減率を並べて確認できます。ビルドパイプラインへの変更を確定する前にパフォーマンス向上を見積もる際に役立ちます。
📋
ログイン不要
ページを開いて CSS を貼り付け、結果をコピーするだけです。サインアップ、レート制限、機能制限は一切ありません。ツールの全機能に毎回アクセスできます。

CSS ミニファイアーの使用例

フロントエンドパフォーマンス最適化
HTML の head 要素にインライン挿入するクリティカル CSS をミニファイします。インライン CSS が小さいほど、特にモバイル接続での First Contentful Paint が高速になります。
バックエンドのメールテンプレート
メールクライアントは外部スタイルシートを無視し、サイズ制限も厳しいです。インライン CSS をミニファイして、メールの HTML をクリッピングしきい値(Gmail では 102 KB)以下に抑えましょう。
DevOps とビルド検証
ビルドツールのミニファイ出力をこのツールと比較することで、cssnano や clean-css が正しく設定されて最適な結果を出しているか確認できます。
QA サイズ予算管理
ベンダーのスタイルシートを貼り付けて、ミニファイ後のサイズをパフォーマンス予算と比較します。プロジェクトに追加する前にツリーシェイキングや代替が必要かどうかを判断できます。
データ処理とウェブスクレイピング
クロールしたページから CSS を抽出する際、比較や保存の前にミニファイして空白の違いを正規化できます。
CSS 最適化の学習
CSS を学んでいる方は、CSS を貼り付けてミニファイアーがどの文字を削除するかを確認できます。入力と出力を比較することで、ブラウザにとって意味のある CSS 構文と単なる書式上の要素の違いが理解できます。

CSS ミニファイの手法

CSS ミニファイアーはファイルサイズを削減するためにいくつかの変換を適用します。それぞれがソース内の異なる種類の冗長性を対象としています。下の表に主な手法と整形済みスタイルシートに対する典型的な削減率を示します。

手法内容典型的な削減率
Whitespace removalStrips spaces, tabs, and newlines between tokens15–25%
Comment strippingRemoves /* ... */ block comments5–15%
Zero shortening0px → 0, 0.5 → .51–3%
Shorthand colors#ffffff → #fff, #aabbcc → #abc1–2%
Semicolon removalDrops the last semicolon before }<1%
Quote removalfont-family: "Arial" → font-family: Arial<1%

削減率は入力によって異なります。コメントが多いファイルはコメント削除の恩恵が大きく、すでにコンパクトなファイルは削減率が小さくなります。最も確実な効果が得られるのは空白の除去とショートハンド最適化です。cssnano などの高度なミニファイアーは重複セレクターの統合、個別プロパティのショートハンドへの折り畳み(margin-top・margin-right・margin-bottom・margin-left を margin に統合)、上書きされた宣言の削除なども行います。

ミニファイ vs. gzip 圧縮

ミニファイと圧縮は相互補完的な手法であり、互いの代替にはなりません。異なる層で動作し、組み合わせて使用することができます。

CSS ミニファイ(このツール)
CSS 構文レベルで動作します。空白・コメントを削除し、ショートハンド値を書き直します。ビルド時に一度だけ実行されます。出力はブラウザが直接解析できる有効な CSS です。典型的な削減率:元のファイルサイズの 15〜40%。
gzip / Brotli 圧縮
汎用圧縮アルゴリズムを使ってバイトレベルで動作します。ウェブサーバーがレスポンスごとに適用します(またはデプロイ時に事前圧縮されます)。あらゆるファイル形式に対応します。典型的な削減率:ミニファイ済みサイズの 60〜80%。両方を組み合わせることで最小の転送サイズを実現できます。

コード例

さまざまな言語と環境で CSS をプログラム的にミニファイする方法を示します。

JavaScript (cssnano + PostCSS)
import postcss from 'postcss'
import cssnano from 'cssnano'

const input = `
.nav {
  display: flex;
  padding: 0px 1rem;
  color: #ffffff;
  /* TODO: update color */
}
`

const result = await postcss([cssnano]).process(input, { from: undefined })
console.log(result.css)
// → ".nav{display:flex;padding:0 1rem;color:#fff}"
Python (csscompressor)
import csscompressor

css = """
.nav {
  display: flex;
  padding: 0px 1rem;
  color: #ffffff;
  /* navigation styles */
}
"""

minified = csscompressor.compress(css)
print(minified)
# → ".nav{display:flex;padding:0 1rem;color:#fff}"
Go (tdewolff/minify)
package main

import (
	"fmt"
	"github.com/tdewolff/minify/v2"
	"github.com/tdewolff/minify/v2/css"
)

func main() {
	m := minify.New()
	m.AddFunc("text/css", css.Minify)

	input := ".nav { display: flex; padding: 0px 1rem; color: #ffffff; }"
	output, _ := m.String("text/css", input)
	fmt.Println(output)
	// → ".nav{display:flex;padding:0 1rem;color:#fff}"
}
CLI (cssnano / clean-css)
# Using cssnano via PostCSS CLI
npx postcss styles.css --use cssnano -o styles.min.css

# Using clean-css CLI
npx clean-css-cli styles.css -o styles.min.css

# Quick one-liner with Node.js
node -e "const CleanCSS=require('clean-css');console.log(new CleanCSS().minify('body { margin: 0px; }').styles)"
# → "body{margin:0}"

よくある質問

CSS ミニファイと CSS 圧縮の違いは何ですか?
ミニファイは CSS のソースコードを書き直して不要な文字(空白・コメント・冗長な構文)を取り除きつつ、動作を完全に保持します。圧縮(gzip・Brotli)はトランスポート層でファイルのバイトをよりコンパクトなバイナリ形式にエンコードします。ミニファイはディスク上の CSS ファイルを小さくし、圧縮は HTTP で送信されるバイト数を削減します。ベストプラクティスは両方を適用することです。まずミニファイして、次にサーバーでミニファイ済み出力を圧縮します。
CSS をミニファイすると何か壊れますか?
標準的なミニファイは CSS の動作を保持します。文字列値(content プロパティなど)内の空白は主要なミニファイアーすべてで保持されます。ただし、セレクターの統合やプロパティの並び替えといった積極的な最適化は詳細度や上書き順序を変える可能性があります。cssnano のデフォルトプリセットを使用する場合、これらのリスクのある変換は無効になっています。このツールは安全なミニファイのみを実行します。空白の除去・コメントの削除・ショートハンド最適化です。
ミニファイ後に CSS はどれくらい小さくなりますか?
典型的な削減率は整形済みファイルサイズの 15〜40% です。コメントが豊富で空白が多いファイルはその上限に近い削減率になります。コメントなしですでにコンパクトに書かれた CSS は 10〜15% しか縮小しないこともあります。正確な削減量はコーディングスタイル・コメント密度・ショートハンドに折り畳める個別プロパティの使用量によって異なります。
CSS は手動でミニファイすべきですか、それともビルドツールを使うべきですか?
本番ビルドでは常にビルドツール(cssnano を使った PostCSS・esbuild・webpack の css-minimizer-webpack-plugin)を使用してください。自動化されたミニファイはビルドのたびに実行され、すべてのファイルを対象にします。ブラウザベースのミニファイアーは単発作業に役立ちます。クリティカル CSS スニペットのインライン挿入・ベンダースタイルシートのミニファイ後サイズの確認・共有前の簡単なプロトタイプのミニファイなどです。
このツールで SCSS や LESS をミニファイできますか?
このツールは標準的な CSS をミニファイします。SCSS と LESS は CSS にコンパイルされるプリプロセッサ言語です。まず SCSS または LESS を CSS にコンパイル(sass または lessc を使用)してから、コンパイル済み出力をここに貼り付けてください。生の SCSS 構文をミニファイすると、//! preserve コメントや @use アノテーションなどのコンパイル動作を制御するコメントが削除される可能性があります。
ミニファイ済み CSS はデバッグしにくいですか?
はい、ミニファイ済み CSS は書式なしの 1 行になるため、DevTools での読み取りが困難です。標準的な解決策はソースマップです。PostCSS や esbuild などのビルドツールは .map ファイルを生成し、ブラウザがミニファイ済みバージョンを読み込みながら DevTools で整形済みオリジナルソースを表示できるようにします。ソースマップなしで本番環境をデバッグする場合は、ミニファイ済み CSS を CSS フォーマッターに貼り付けて読みやすさを復元してください。
CSS ミニファイアーと CSS コンプレッサーの違いは何ですか?
一般的な使われ方では、これらの用語は同義です。どちらもファイルサイズを削減するために CSS から不要な文字を取り除くことを指します。一部のツールは名前に「compressor」を使用していますが(Python の csscompressor など)、標準的なミニファイを実行します。「compression」という言葉は gzip/Brotli エンコードを指すこともありますが、それはサーバーレベルの別のプロセスです。「CSS compressor」と書いてあれば、ほぼ必ずミニファイを意味し、gzip ではありません。