What is removed, and what must not be
Comments, indentation, the whitespace around punctuation and the last semicolon in each block all go. Typical saving is 15–25%, most of which gzip would have found anyway — minifying matters most for CSS embedded in a page or served uncompressed.
Some whitespace is load-bearing. calc(100% - 2rem) needs the spaces around the minus; removing them makes the declaration invalid and the rule simply stops applying. Comment characters inside a string, and semicolons inside a url(data:...), are content rather than syntax. All of that is why this works from a tokenizer rather than a chain of regular expressions.
Licence headers
A comment beginning /*! is kept, which is the convention for attribution that a licence requires you to preserve.
Frequently asked questions
How much smaller will my CSS get?
Usually 15 to 25 per cent. Over a gzipped connection much of that is already handled, so the win is largest for inline or uncompressed stylesheets.
Will it break calc() or media queries?
No. The spaces inside calc(), min(), max() and clamp() are part of the syntax and are preserved — stripping them is a common bug in regex-based minifiers.
Are licence comments kept?
Yes — anything starting /*! is preserved, which is the usual convention.
Something wrong with this tool, or an idea for it? Tell us