February 24, 2019

260 words 2 mins read



Remove unused CSS

repo name FullHuman/purgecss
repo link https://github.com/FullHuman/purgecss
homepage https://purgecss.com
language TypeScript
size (curr.) 3793 kB
stars (curr.) 4617
created 2017-07-01
license MIT License


David (path) David (path) Dependabot npm npm GitHub

What is PurgeCSS?

When you are building a website, chances are that you are using a css framework like Bootstrap, Materializecss, Foundation, etc… But you will only use a small set of the framework and a lot of unused css styles will be included.

This is where PurgeCSS comes into play. PurgeCSS analyzes your content and your css files. Then it matches the selectors used in your files with the one in your content files. It removes unused selectors from your css, resulting in smaller css files.

Version 1

If you are looking for PurgeCSS 1, the documentation is here


You can find the PurgeCSS documentation on this website.

Table of Contents




Getting Started


npm i --save-dev purgecss


import PurgeCSS from 'purgecss'
const purgeCSSResults = await new Purgecss().purge({
  content: ['**/*.html'],
  css: ['**/*.css']


This repository is a monorepo that we manage using Lerna. That means that we actually publish several packages to npm from the same codebase, including:

Package Version Description
purgecss npm The core of PurgeCSS
postcss-purgecss npm (scoped) PostCSS plugin for PurgeCSS
purgecss-webpack-plugin npm Webpack plugin for PurgeCSS
gulp-purgecss npm Gulp plugin for PurgeCSS
grunt-purgecss npm Grunt plugin for PurgeCSS
purgecss-from-html npm Html extractor for PurgeCSS
purgecss-from-js npm Js extractor for PurgeCSS
purgecss-from-pug npm Pug extractor for PurgeCSS
purgecss-with-wordpress npm Collection of whitelist items for WordPress
comments powered by Disqus