Freedom251 › Static Analysis Tools
Unused CSS Finder

What Unused CSS Finder is
Unused CSS Finder is a free web tool that checks whether CSS selectors match elements in supplied HTML, then produces a cleaned stylesheet. You can paste HTML and CSS, add optional JavaScript, or scan a URL. Results include the original and cleaned stylesheet sizes, estimated savings, and rule sets identified for removal. Selector checks use the browser’s querySelectorAll against a DOM created from the supplied HTML. JavaScript scanning recognizes documented patterns for vanilla JavaScript, jQuery, React, Vue, Alpine.js, Angular, and Svelte. It handles conditional at-rules, native CSS nesting, pseudo-classes, comma-separated selector lists, and multi-class selectors. Rules such as @keyframes, @font-face, and @import are preserved, as are vendor pseudo-elements. The cleaned CSS keeps its formatting, property values, and comments; it is not minified. Pasted code is analyzed in the browser. URL scans use a same-server PHP proxy, fetch only same-domain CSS and JavaScript, and skip external resources and JavaScript files over 500 KB.
Who it suits
It suits developers who want to identify CSS rules not matched by supplied page markup. URL scanning may not fit authenticated pages or sites that rely on external scripts or runtime-generated classes; the maker suggests pasting rendered HTML and stylesheet contents for pages behind login.
What it does well
- Free web tool with code paste or URL scanning.
- Reports stylesheet sizes and estimated savings.
- Supports common framework-specific JavaScript patterns.
- Preserves CSS formatting, property values, and comments.
What to know first
- URL scans skip external CSS and JavaScript.
- URL scans skip JavaScript files over 500 KB.
- Static analysis does not execute scripts or simulate interactions.
- CSS-in-JS hashed class names are unsupported.
Limits
The free tool’s URL scanner skips external resources and JavaScript files over 500 KB. Static analysis does not execute JavaScript or simulate interactions, and hashed class names from CSS Modules, styled-components, Emotion, and other CSS-in-JS tools are unsupported.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Free | Free tool; URL scanning skips external resources and JavaScript files over 500 KB | Free |
As cssportal.com lists them, read 8 Oct 2026. The maker's own page has the final word.
Getting started
- Open https://www.cssportal.com/unused-css-finder/.
- Choose to paste code or scan a URL.
- Provide HTML and CSS, adding JavaScript if needed.
- For authenticated pages, paste rendered HTML and stylesheet contents.
Verdict
Unused CSS Finder provides useful scan results and cleaned CSS without minifying the output. Its static analysis can miss selectors created at runtime, so results may not cover every page state.
Questions
Is Unused CSS Finder free?
Yes. Its pricing model is free, with a Free plan at no cost.
Which platforms does it support?
It is available on the web.
Can I scan a page by URL?
Yes, but URL scans fetch only same-domain CSS and JavaScript. External resources and JavaScript files over 500 KB are skipped.
Can it analyze JavaScript-driven styles?
It recognizes documented patterns for vanilla JavaScript, jQuery, React, Vue, Alpine.js, Angular, and Svelte. It does not execute JavaScript or simulate interactions.
Does it support CSS-in-JS?
CSS Modules, styled-components, Emotion, and other tools that generate hashed class names are not supported for static analysis.
How does it handle pasted code and privacy?
The maker says pasted code is analyzed entirely in the browser. URL scans use a same-server PHP proxy and do not send code to a third-party service.
Facts from Unused CSS Finder's own pages
- Authenticated pages
- The URL scanner fetches pages without authentication, and the maker suggests pasting rendered HTML and stylesheet contents for pages behind login. · cssportal.com, 8 Oct 2026
- CSS support
- The tool handles conditional at-rules, native CSS nesting, pseudo-classes, comma-separated selector lists, and multi-class selectors. · cssportal.com, 8 Oct 2026
- Framework patterns
- JavaScript scanning recognizes documented patterns for vanilla JavaScript, jQuery, React, Vue, Alpine.js, Angular, and Svelte. · cssportal.com, 8 Oct 2026
- Input methods
- Users can paste code or scan a URL, and can provide HTML, CSS, and optional JavaScript. · cssportal.com, 8 Oct 2026
- Output
- Cleaned CSS preserves the original formatting, property values, and comments; it is not minified. · cssportal.com, 8 Oct 2026
- Preserved rules
- @keyframes, @font-face, @import, and vendor pseudo-elements are preserved rather than flagged as unused. · cssportal.com, 8 Oct 2026
- Privacy
- The maker says pasted code is analyzed entirely in the browser, while URL scans use a same-server PHP proxy and do not send code to a third-party service. · cssportal.com, 8 Oct 2026
- Purpose
- The tool identifies CSS selectors that do not match elements in supplied HTML and produces cleaned CSS. · cssportal.com, 8 Oct 2026
- Results
- Scan results show original and cleaned stylesheet size, estimated savings, and removable rule sets. · cssportal.com, 8 Oct 2026
- Selector matching
- Selectors are tested against a DOM built from the supplied HTML using the browser's native querySelectorAll. · cssportal.com, 8 Oct 2026
- Static analysis limits
- The tool does not execute JavaScript or simulate interactions, so runtime-generated classes, computed class names, iframe or Shadow DOM styles, and third-party script classes can be missed. · cssportal.com, 8 Oct 2026
- Support
- The site offers a contact form for feedback and enquiries and says it may be unable to answer every email. · cssportal.com, 8 Oct 2026
- Unsupported CSS-in-JS
- CSS Modules, styled-components, Emotion, and other tools that generate hashed class names are not supported for static analysis. · cssportal.com, 8 Oct 2026
- URL scan limits
- URL scans fetch only same-domain CSS and JavaScript; external resources are skipped, as are JavaScript files over 500 KB. · cssportal.com, 8 Oct 2026
Where Unused CSS Finder stands on Freedom251
- Static Analysis Tools#23 of 38