Our tool explores all your pages and removes unused CSS.
You can then download the optimized CSS files.
Latish Sehgal has written a windows application to find and remove unused CSS classes. I haven't tested it but from the description, you have to provide the path of your html files and one CSS file. The program will then list the unused CSS selectors. From the screen-shot, it looks like there is no way to export this list or download a new clean CSS file. It also looks like the service is limited to one CSS file. If you have multiple files you want to clean, you have to clean them one by one.
Dust-Me Selectors is a Firefox extension (for v1.5 or later) that finds unused CSS selectors. It extracts all the selectors from all the style-sheets on the page you're viewing, then analyzes that page to see which of those selectors are not used. The data is then stored so that when testing subsequent pages, selectors can be crossed off the list as they're encountered. This tool is supposed to be able to spider a whole website but I unfortunately could make it work. Also, I don't believe you can configure and download the CSS file with the styles removed.
Topstyle is a windows application including a bunch of tools to edit CSS. I haven't tested it much but it looks like it has the ability to removed unused CSS selectors. This software costs 80 USD.
Liquidcity CSS cleaner is a php script that uses regular expressions to check the styles of one page. It will tell you the classes that aren't available in the HTML code. I haven't tested this solution.
Deadweight is a CSS coverage tool. Given a set of style-sheets and a set of URLs, it determines which selectors are actually used and lists which can be "safely" deleted. This tool is a ruby module and will only work with rails website. The unused selectors have to be manually removed from the CSS file.
CSSESS is a bookmarklet that helps you find unused CSS selectors on any site. This tool is pretty easy to use but it won't let you configure and download clean CSS files. It will only list unused CSS files.
Version 0.534, Various fixes around content decoding and crawler authentication
Version 0.486, Add support for dynamic html pages using PhantomJS
Version 0.353, Add blacklist to skip pages
Version 0.325, Support http authentication
Version 0.277, Customize crawler user agent
Version 0.257, Explore style elements for css files
Version 0.253, Increase the number of pages explored
Version 0.241, Improve discovery of css files
Version 0.216, Add css tidy integration, add date of last exploration
Version 0.200, Add file size difference chart and number of lines difference chart
Version 0.187, Update site interface and design
Version 0.155, Fix bug in CSS differences preview.
Version 0.152, Update CSS download interface.
Version 0.128, Improve preview panel CSS differences highlighting system
Version 0.105, Fix a bunch of encoding problem happening with Japanese sites.
Version 0.090, Add support for gzipped css file.
Version 0.080, Add asynchronous system for unused CSS sample.