Minificador JavaScript
Minify estrutural rápido de JavaScript — remove comentários, comprime whitespace, tira linhas em branco. Mostra tamanho antes/depois e o percentual economizado.
Digite uma entrada acima para ver o resultado.
Para que serve?
Um minificador estrutural de JavaScript remove comentários e whitespace desnecessário sem mudar o que o código faz. O output é funcionalmente idêntico ao input — mesmos identificadores, mesma lógica — só que mais curto. Esta ferramenta roda esse passe no seu browser, incluindo as partes traiçoeiras: preserva o conteúdo de strings e literais regex intactos, e mantém quebras de linha onde o ASI (Automatic Semicolon Insertion) mudaria o comportamento.
Quando usar
- Cortar rápido um trecho pra inclusão num bookmarklet HTML ou demo de arquivo único, em que você não tem build chain.
- Verificar quanta "gordura" tem num script feito à mão antes de decidir se vale a pena montar um optimizer de verdade.
- Fazer inline de uma biblioteca pequena num site estático sem trazer um bundler junto.
Cuidados comuns
- Isto é minify estrutural, não um compressor. Não renomeia variáveis, não faz dead-code elimination, não mangle de propriedades nem tree-shaking. Pra builds de produção, use
terser,esbuildouswcno seu pipeline — eles cortam mais 30–60% além do minify estrutural. - Armadilhas do ASI. O JavaScript insere ponto-e-vírgula em lugares surpreendentes. O minificador preserva uma quebra de linha onde removê-la mudaria o significado (ex.:
return\n{}≠return {}). Use ponto-e-vírgula explícito no source quando puder — torna o minify mais seguro pra todo mundo. - Source maps não são gerados. Se você for enviar JS minificado pra produção, gere source maps com uma toolchain de verdade pra que o debug seja viável.
- A compressão moderna domina. Brotli/gzip na rede faz a maior parte do que o minify faz. Os maiores ganhos vêm de remover código não usado — isso exige análise estática que um minificador estrutural não consegue fazer.
- Não minifique o que você commita. Source vai bonito; minify no build/deploy.