O que acontece quando você minifica JavaScript
JavaScript é o recurso mais caro de uma página: além de ser baixado, precisa ser analisado e compilado pelo navegador. Minificar diminui os bytes transferidos e o trabalho de análise. Esta ferramenta usa o Terser, o mesmo minificador usado por muitos bundlers, e entende sintaxe moderna (ES2015+): arrow functions, classes, módulos, async/await, optional chaining e afins.
São duas etapas principais. A compressão remove código morto (blocos que nunca executam, variáveis não usadas) e simplifica expressões, por exemplo transformando if/else simples em operadores ternários. O mangle encurta os nomes de variáveis e funções locais para uma ou duas letras. Nomes globais e propriedades de objetos não são renomeados, para não quebrar referências externas.
Você também pode manter os comentários de licença (/*! e @license) e remover todas as chamadas console.*, útil para tirar logs de depuração antes de publicar. A ferramenta mostra o tamanho antes e depois e a porcentagem economizada. JSX e TypeScript não são suportados: compile-os para JavaScript antes. Se houver um erro de sintaxe, você verá a mensagem do analisador com a posição.
O código é processado no seu navegador, sem upload. O teste grátis vale para um arquivo ou um texto colado; dá para reprocessar o mesmo texto com outras opções, mas um novo conteúdo exige o ToolStudio Pro: uso ilimitado, vários arquivos de uma vez em um ZIP e sem anúncios.
Como minificar JavaScript
- Cole o código na caixa de entrada ou arraste um arquivo .js, .mjs ou .cjs.
- Ative ou desative compress, mangle, manter comentários de licença e remover console.*.
- Clique no botão para minificar.
- Confira o tamanho antes e depois e, se aparecer um erro de sintaxe, corrija a linha indicada.
- Copie o resultado ou baixe o arquivo minificado.
Quando minificar JavaScript
- Publicar scripts de um site estático sem bundler.
- Reduzir snippets que você distribui para clientes (widgets, pixels, embeds).
- Remover console.log de um script antes de colocá-lo em produção.
- Diminuir bookmarklets e userscripts.
- Checar rapidamente quanto um arquivo pode encolher antes de configurar um build.
- Minificar módulos ES (.mjs) e arquivos CommonJS (.cjs).
Compress, mangle e o que nunca é renomeado
- Compress: elimina código inalcançável, junta declarações de variáveis, calcula expressões constantes e simplifica condições.
- Mangle: renomeia variáveis e parâmetros locais (por exemplo, totalDeItens vira t). Não muda o comportamento porque os nomes são internos ao escopo.
- Globais e propriedades de objetos são mantidos, pois outros scripts ou o HTML podem depender deles.
- Remover console.* apaga também chamadas como console.error. Desative se precisar desses registros em produção.
- Minificar não é segurança: o código continua legível com um formatador, apenas sem os nomes originais.
Perguntas Frequentes
Suporta ES6 e JavaScript moderno?
Sim. O Terser entende sintaxe ES2015+ como classes, arrow functions, módulos, async/await e optional chaining.
Funciona com TypeScript ou JSX?
Não. Compile TypeScript e JSX para JavaScript primeiro. Para apenas formatar JSX, use o formatador de JavaScript.
Minificar pode quebrar meu código?
Em código correto, não. Os problemas costumam vir de código que depende do nome de uma função local (por exemplo, via fn.name). Nesse caso, desative o mangle.
É possível desfazer a minificação?
Dá para reindentar o código com o formatador de JavaScript, mas os nomes originais das variáveis encurtadas pelo mangle não podem ser recuperados. Guarde sempre o arquivo original.
É grátis?
Você pode testar com um arquivo ou um texto colado e reprocessar esse mesmo texto com outras opções. Para novos conteúdos, o ToolStudio Pro libera uso ilimitado, vários arquivos de uma vez em ZIP e remove os anúncios.