Optimisations
What are optimisations?
An optimisation is a module that performs a transform on some CSS code in order to reduce its size, or failing this, the final gzip size of the CSS. Each optimisation is performed by either one module or a few modules working together.
Due to the nature of dividing cssnano's responsibilities across several modules, there will be some cases where using a transform standalone will not produce the most optimal output. For example, postcss-colormin will not trim whitespace inside color functions as this is handled by postcss-normalize-whitespace.
Supported optimisations
The optimisations are different depending on which preset cssnano is configured with; with the default preset, we offer safe transforms only.
| Optimisation | default | advanced | lite |
|---|---|---|---|
| autoprefixer | ✗ | ✓ | ✗ |
| cssDeclarationSorter | ✗ | ✓ | ✗ |
| calc | ✓ | ✓ | ✗ |
| colormin | ✓ | ✓ | ✗ |
| convertValues | ✓ | ✓ | ✗ |
| discardComments | ✓ | ✓ | ✓ |
| discardDuplicates | ✓ | ✓ | ✗ |
| discardEmpty | ✓ | ✓ | ✓ |
| discardOverridden | ✓ | ✓ | ✗ |
| discardUnused | ✗ | ✓ | ✗ |
| mergeIdents | ✗ | ✓ | ✗ |
| mergeLonghand | ✓ | ✓ | ✗ |
| mergeRules | ✓ | ✓ | ✗ |
| minifyFontValues | ✓ | ✓ | ✗ |
| minifyGradients | ✓ | ✓ | ✗ |
| minifyParams | ✓ | ✓ | ✗ |
| minifySelectors | ✓ | ✓ | ✗ |
| normalizeCharset | ✓ | ✓ | ✗ |
| normalizeDisplayValues | ✓ | ✓ | ✗ |
| normalizePositions | ✓ | ✓ | ✗ |
| normalizeRepeatStyle | ✓ | ✓ | ✗ |
| normalizeString | ✓ | ✓ | ✗ |
| normalizeTimingFunctions | ✓ | ✓ | ✗ |
| normalizeUnicode | ✓ | ✓ | ✗ |
| normalizeUrl | ✓ | ✓ | ✗ |
| normalizeWhitespace | ✓ | ✓ | ✓ |
| orderedValues | ✓ | ✓ | ✗ |
| reduceIdents | ✗ | ✓ | ✗ |
| reduceInitial | ✓ | ✓ | ✗ |
| reduceTransforms | ✓ | ✓ | ✗ |
| svgo | ✓ | ✓ | ✗ |
| uniqueSelectors | ✓ | ✓ | ✗ |
| zindex | ✗ | ✓ | ✗ |
You can read more about presets in our presets guide.
Last updated on Fri, 14 Aug 2026 22:41:13 GMT