§

Options

Minify options
§

Cole o CSS

§

CSS minificado

css
§

Economizado %

  • Tamanho original
  • Tamanho minificado
  • Economizado
  • Economizado %

As equipas de front-end em Portugal e no Brasil tratam a minificação de CSS como um passo obrigatório de produção porque a auditoria de desempenho do Lighthouse do Google assinala folhas de estilos não comprimidas. Um site de marketing típico em Next.js ou Remix economiza 20 a 40 por cento do CSS escrito à mão quando comentários, indentação e formas verbosas de hex são removidos, o que é suficiente para mover uma pontuação de Largest Contentful Paint do âmbar para o verde. Executar o passo numa aba do navegador antes de confirmar ignora a instalação do plugin PostCSS e fornece a mesma contagem de bytes.

Como funciona a minificação de CSS

O minificador percorre a sua folha de estilos com um tokenizador com reconhecimento de estado que distingue regiões protegidas (literais de string e valores url()) de espaços em branco editáveis onde o colapso e a remoção são seguros.

  1. Proteger strings e URLs. Antes de qualquer outra transformação, o tokenizador identifica cada string entre aspas (“…” ou ‘…’) e cada argumento url(…) e guarda-os literalmente. As passagens seguintes nunca tocam nestes bytes, por isso um URL de background-image com espaços ou uma propriedade content com pontuação é preservado exatamente.
  2. Remover comentários. Os blocos /* … */ são removidos quando o interruptor está ativo. Se o interruptor de comentários de licença também estiver ativo, os blocos /*! … */ sobrevivem para que os cabeçalhos de licença MIT, Apache e BSD permaneçam na saída conforme exigido por essas licenças.
  3. Colapsar espaços em branco. Cada sequência de espaços, tabulações e quebras de linha colapsa para um único espaço; depois o espaço em branco ao redor dos caracteres estruturais CSS {, }, ;, : e , é removido completamente. O seletor e as listas de valores redistribuem-se da mesma forma que o analisador do navegador os lê.
  4. Otimizar valores. Passagens opcionais colocam os códigos de cor hex em minúsculas, colapsam canais hex de 6 dígitos em pares para notação curta de 3 dígitos (#aabbcc#abc) e removem unidades de dimensão de valores zero (0px0). A passagem de unidades zero ignora valores dentro de chamadas transform() onde as unidades são significativas.
  5. Reportar bytes economizados. Tanto o texto original quanto o minificado são medidos com new TextEncoder().encode(…).byteLength, a mesma contagem de bytes UTF-8 que um CDN ou servidor HTTP vê na rede. A faixa de métricas mostra o tamanho original, o tamanho minificado, os bytes economizados e a percentagem de economia.

Por que minificar CSS

  • Carregamento bloqueador de renderização mais rápido. Os navegadores não pintam um único pixel até terminarem de analisar o CSS. Uma redução de 30 por cento na folha de estilos encurta esse bloqueio, melhora o First Contentful Paint e aparece diretamente na pontuação de desempenho do Lighthouse.
  • Faturas de egress de CDN menores. CloudFront, Cloudflare e Fastly cobram por gigabyte de egress. Cortar 20 por cento de uma folha de estilos que é enviada em cada visualização de página torna-se uma linha real na fatura quando o tráfego mensal ultrapassa alguns milhões de visualizações.
  • Incorporações e CSS de e-mail menores. Os templates de e-mail transacional colocam o CSS inline para sobreviver às peculiaridades de renderização do Outlook e Gmail, e cada byte extra aproxima-nos do limite de corte de 102 KB do Gmail. Minificar antes de colocar inline mantém a mensagem abaixo do limite.
  • Sem dependência de ferramenta de build. Trabalhos únicos e pontuais, repositórios legados sem pipeline de build e ambientes sem acesso à internet nem sempre têm espaço para uma cadeia de ferramentas Node. Pode executar a passagem aqui sem instalar PostCSS, cssnano ou qualquer outra coisa.

Aplicações comuns

A minificação de CSS aparece no final de quase todos os pipelines de build de front-end e em vários contextos de tempo de execução onde a contagem de bytes é importante.

  • Pipelines de build de produção: Webpack, Vite, Rollup e Parcel incluem uma etapa de minificação de CSS nos seus padrões de modo de produção. Executar a passagem aqui antes do commit permite validar a saída sem acionar um build completo.
  • Incorporação de CSS em tags <style>: frameworks renderizados no servidor que colocam CSS crítico inline no documento HTML beneficiam-se da mesma economia de bytes que as folhas de estilos independentes, e CSS inline menor reduz o Time to First Byte.
  • E-mail transacional e de marketing: o HTML de e-mail coloca todo o CSS inline, por isso cada kilobyte na folha de estilos contribui para o tamanho total da mensagem. Minificar antes de colocar inline mantém as mensagens bem abaixo dos limites de tamanho do ESP.

Um exemplo prático

Cole um conjunto de regras de 1 KB com indentação de dois espaços, linhas em branco entre seletores, um bloco de comentário de licença no topo e cores hex verbosas como #FFFFFF e margens com zeros como margin: 0px. Com todas as opções ativas, a saída colapsa para cerca de 600 bytes — uma economia de 40 por cento — enquanto a página renderizada fica igual à fonte.

A minificação altera o comportamento do meu CSS?

Não, com os interruptores padrão. O minificador remove apenas os bytes que o analisador CSS já descarta — espaços em branco, comentários, o ponto-e-vírgula final opcional — e ignora o interior de transform() onde as unidades são significativas. Cada seletor, propriedade e valor é preservado.

Funciona com SCSS ou LESS?

Apenas depois de compilá-los para CSS simples. A sintaxe SCSS e LESS (variáveis, aninhamento, mixins, seletores pai &) não é CSS válido e o minificador irá corrompê-la. Compile a fonte do pré-processador primeiro e cole a saída compilada aqui.

Por que os meus comentários de licença estão a ser removidos?

"Remover comentários" está ativo por padrão e limpa todos os blocos /* … */. Ative "Preservar comentários de licença /*!" para manter os blocos que começam com /*!. MIT, Apache e BSD exigem que o cabeçalho de copyright acompanhe o CSS redistribuído.

Quanto posso economizar?

O CSS escrito à mão geralmente reduz 15 a 35 por cento. Ficheiros muito comentados ou profundamente indentados com muitos literais de cor podem atingir 40 por cento. A saída compilada do Sass ou CSS-in-JS já está parcialmente minificada e economiza menos — normalmente 5 a 15 por cento.

Execute a minificação de CSS numa aba do navegador e ignora completamente a cadeia de ferramentas Node. Cole a folha de estilos acima, ajuste as opções para o nível de agressividade desejado e copie a saída ou faça o download como .min.css. Sem upload, sem conta, sem biblioteca de vendor.