⚡ For developers worldwide

Minify CSS & JS
and boost performance. Free.

Remove whitespace, comments and redundancy from your CSS and JavaScript files instantly. No uploads, no accounts.

⚡ Instant minification
🎨 CSS support
📜 JavaScript support
📁 File upload
📊 Size savings
🔒 100% private
📂 Drop a .css file here or click to upload
Options:
🎨 Input CSS
⚡ Minified Output
Original
Minified
Saved
Size reduction 0%

How it works

01
Choose CSS or JS

Select the mode that matches your file type using the tabs at the top.

02
Paste or upload

Paste your code directly or drop a file into the upload area.

03
Set options

Choose whether to remove comments, whitespace, or collapse newlines.

04
Copy or download

Copy the minified output or download it as a ready-to-use file.

🛡️
100% private.

All minification runs entirely in your browser. Your code is never sent to any server — not even us can see it. Works offline too.

Frequently asked questions
CSS minification removes all characters from your stylesheet that are not necessary for the browser to interpret it correctly — including whitespace, indentation, line breaks, and comments. The result is a functionally identical but much more compact CSS file. A typical stylesheet can be reduced by 20–50% through minification, which means faster download times and better page performance.
Minification removes unnecessary characters (spaces, comments, line breaks) while keeping the file as plain text. Compression (like Gzip or Brotli) is applied at the server level and encodes the file in a compressed binary format for transmission, then decompresses it in the browser. Both techniques work together — you minify the CSS first, then the server compresses it. Minification improves compression ratios because repetitive whitespace patterns are removed.
No. Minified CSS is functionally identical to the original — the browser interprets it exactly the same way. Only whitespace, comments, and redundant characters are removed; the actual rules, selectors, and property values are preserved. Your website will look and behave identically with minified CSS.
Minify only for production. During development, keep your CSS readable with proper indentation and comments — this makes debugging and collaboration much easier. When deploying to production, minify as part of your build process. Modern build tools like Webpack, Vite, Parcel, and Gulp can automate CSS minification automatically on every build.
Yes. The tool supports both CSS and JavaScript minification. JavaScript minification removes whitespace, comments, and shortens variable names where possible, resulting in significant size reductions. Switch between CSS and JS modes using the tabs at the top of the tool.
Results vary depending on how your CSS is written. Well-commented stylesheets with generous spacing can see reductions of 40–60%. Tightly written CSS with minimal comments may see 15–25% reduction. In all cases, the compressed size (after Gzip) will be further reduced on top of the minified size.
Technically yes, but it is not recommended practice. Third-party stylesheets (like Bootstrap or Tailwind) already provide pre-minified versions that are better optimized than what manual minification can achieve. Always use the official minified version from the library rather than minifying the source yourself, to ensure correctness and to make future updates easier.
This should not happen with correct CSS, as minification only removes whitespace and comments. If you experience issues, check that your original CSS has no syntax errors — the minifier may expose underlying problems that were previously masked. Also verify there are no comments used as conditional hacks (like IE-specific tricks) that rely on being present. Paste your original CSS into a validator first, then minify.

More free tools

📊 JSON FormatterFormat & validate JSON 🔍 Regex TesterTest regular expressions 🔗 URL Encoder/DecoderEncode & decode URLs 🔢 Number Base ConverterBinary, hex, decimal…
function toggleFaq(btn) { const answer = btn.nextElementSibling; const isOpen = btn.classList.contains('open'); document.querySelectorAll('.faq-question.open').forEach(q => { q.classList.remove('open'); q.nextElementSibling.classList.remove('open'); }); if (!isOpen) { btn.classList.add('open'); answer.classList.add('open'); } }