ページ内ナビ
概要
PurgeCSSはHTML・JavaScript・template等のcontentをscanし、CSS selectorとの対応を調べて未使用ruleを削除するtoolです。CLI、programmatic API、PostCSS・Webpack等のintegrationを提供します。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
contentとCSSを照合してunused selectorを除去する
HTML・template・JavaScript等からtokenを抽出し、参照されないCSS selectorをproduction outputから取り除けます。
safelist・custom extractorでdynamic selectorを保護する
静的scanで検出できないclassやframework固有syntaxはsafelistやcustom extractorを使って誤削除を防げます。
CLI・PostCSS・Webpack等の複数integrationを選べる
単体CLIに加え、PostCSS pluginやWebpack pluginなどをbuild pipelineへ組み込めます。
出典:[1]
向いている用途
utility CSSや大きなshared stylesheetから実利用ruleだけをproductionへ残したい場合に向く
templateやcomponentに対してCSS量が大きいprojectで、deploy asset sizeを減らしたい場合に効果を測定しやすいtoolです。
出典:[1]
導入前の確認
dynamic class名はscanで見えない場合がある
JSで組み立てるclass、CMS由来class、runtime state class等はcontentから抽出できず削除対象になる可能性があります。safelistやextractorをtestと合わせて管理してください。
出典:[3]
参考にした公式資料
- [1]PurgeCSS v8.0.0 README(2026-10-05)
- [2]PurgeCSS v8 CLI guide(2026-10-05)
- [3]PurgeCSS v8 safelisting guide(2026-10-05)
- [4]PurgeCSS v8.0.0 package metadata(2026-10-05)
- [5]PurgeCSS changelog(2026-10-05)
- [6]PurgeCSS v8.0.0 release(2026-10-05)
- [7]PurgeCSS MIT license(2026-10-05)
編集部からの補足
PurgeCSSはcontent fileからselector候補を抽出して未使用CSSを削除するため、runtimeで動的生成するclass名はscanだけでは検出できない場合があります。dynamic classはsafelistやcustom extractorで保護する設計が重要です。
3ステップで試す
- 1
PurgeCSS 8.0.0を一時projectへ導入する
stable releaseを固定し、content scanとunused selector除去をisolated projectで確認します。
demo=$(mktemp -d "${TMPDIR:-/tmp}/purgecss.XXXXXX") && cd "$demo" && npm init -y >/dev/null && npm install --save-exact --save-dev purgecss@8.0.0 - 2
使用中・未使用selectorを含むHTML/CSSを作る
HTMLから参照される
.usedと参照されない.unusedを用意し、scan結果を確認できる入力にします。printf "%s\n" '<div class="used">Hello</div>' > index.html && printf "%s\n" '.used { color: green; }' '.unused { color: red; }' > styles.css - 3
CLIでunused selectorを除去する
PurgeCSSがcontentをscanし、使用中selectorを残したまま未使用selectorを削除することを確認します。
mkdir build && npx purgecss --css styles.css --content index.html --output build && grep -q ".used" build/styles.css && ! grep -q ".unused" build/styles.css
成長
成長の推移 · 直近30日
8,050 Stars
推移データを蓄積中です。
Built with
カテゴリとタグ
カテゴリ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
GitHub Topics
- css
- optimization-tools
- postcss
- postcss-plugin
- purgecss
- rollup-plugin
- webpack-plugin
- Stars
- 8,050
- Forks
- 244
- Watchers
- 55
- Open Issues
- 68
- 所有者種別
- Organization
- 主要言語
- TypeScript
- ライセンス
- MIT
- リポジトリ最終更新
- 2026/08/20
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- ts-toolbelt7,150 Stars
共通タグ 3件 · 共通カテゴリ 1件 · 同じ言語
Object・Union・Functionなど200超の型utilityで高度な型計算を再利用する
TypeScript - Superstruct7,127 Stars
共通タグ 3件 · 共通カテゴリ 1件 · 同じ言語
小さなstructを組み合わせ、JavaScriptやTypeScriptの入力値を実行時に検証する
TypeScript - PostCSS28,974 Stars
共通タグ 4件 · 共通カテゴリ 1件 · 同じ言語
CSSをASTへ変換し、JavaScript pluginでbuild時のstyle処理を組み立てる
TypeScript - Linaria12,350 Stars
共通タグ 4件 · 共通カテゴリ 1件 · 同じ言語
CSS-in-JSのauthoring experienceを保ちつつ、styleをbuild時にstatic CSSへextractする
TypeScript - Panda CSS6,208 Stars
共通タグ 4件 · 共通カテゴリ 1件
type-safeなstyle定義をscanし、design tokenとatomic CSSをbuild時に生成する
Rust - Ant Design99,682 Stars
共通タグ 3件 · 共通カテゴリ 1件 · 同じ言語
enterprise向けReact UIを完成済みcomponents・design token・theme機構で統一し、管理画面や業務画面を素早く構築する
TypeScript
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。