Minificador JavaScript Grátis
Este minificador JavaScript gratuito remove comentários e espaços em branco desnecessários do seu código e mostra o tamanho antes e depois. Ele lê strings, template literals e expressões regulares como unidades, então seu conteúdo nunca é alterado, e mantém quebras de linha que a inserção automática de ponto e vírgula pode precisar. É uma ferramenta conservadora de espaço em branco, não um compilador completo: não renomeia variáveis nem reescreve código.
JavaScript Minifier
Generators and Converters
Sobre esta ferramenta
JavaScript é frequentemente a parte mais pesada de uma página, e cada kilobyte precisa ser baixado, analisado e executado. Remover comentários, indentação e linhas em branco é a redução mais segura, porque altera apenas caracteres que o mecanismo ignora.
Esta ferramenta percorre o código um token por vez. Strings entre aspas simples, duplas e template são copiadas como estão, literais de expressão regular são reconhecidos a partir do token anterior, e um espaço é mantido apenas onde removê-lo uniria duas palavras ou dois sinais de mais ou menos. Quebras de linha são mantidas onde o código pode depender de inserção automática de ponto e vírgula, então código escrito sem ponto e vírgula ainda se comporta da mesma forma.
Leia as limitações: este não é um compilador completo. Não encurta nomes de variáveis, remove código morto ou entende cada detalhe da linguagem, então código muito incomum sempre deve ser testado após minificação. Para bundles de produção, use uma ferramenta de build como Terser e trate esta página como um auxiliar rápido para snippets e scripts pequenos. Nada que você cola é armazenado.
Perguntas frequentes
Este é um compilador JavaScript completo?
Não. Remove apenas comentários e espaço em branco, e não renomeia variáveis, remove código não utilizado ou transpila sintaxe moderna. Isso mantém a saída previsível. Para um bundle de produção, use uma ferramenta de build como Terser ou esbuild, que pode encurtar nomes também.
Por que algumas quebras de linha são mantidas?
JavaScript pode inserir ponto e vírgula automaticamente no final das linhas, então deletar cada quebra de linha poderia unir duas instruções e mudar o que o código faz. O minificador mantém uma quebra de linha onde não é claramente seguro removê-la, o que custa alguns bytes mas evita bugs.
Vai quebrar expressões regulares ou strings?
Trata strings entre aspas, template literals e literais de expressão regular como unidades e os copia exatamente. Uma barra é lida como expressão regular quando segue um operador ou colchete de abertura, e como divisão após um valor. Teste o resultado uma vez se seu código usa padrões incomuns.
Quanto menor meu script ficará?
Código bem comentado e bem indentado pode encolher um terço ou mais, enquanto código já compacto encolhe muito pouco. O painel de resultado mostra os bytes exatos antes e depois, então você pode julgar a economia para seu próprio script.

