Minificador de JS
Usa o Terser, com análise sintática real — a saída é código válido, não substituição de texto.
- Cole o JavaScript no campo de entrada.
- A minificação roda automaticamente após uma breve pausa na digitação.
- O resultado mostra o tamanho original, o final e a economia em porcentagem.
- Se o código tiver erro de sintaxe, a mensagem do analisador aparece em vez de uma saída quebrada.
A ferramenta usa o Terser, o mesmo motor que roda em builds de produção de boa parte do ecossistema JavaScript. Ele analisa a sintaxe de verdade, em vez de aplicar substituições de texto.
Além de remover comentários e espaços, ele encurta nomes de variáveis e parâmetros locais, elimina código inalcançável e resolve expressões constantes. Somar 1 mais 2 vira simplesmente 3 na saída.
Nomes exportados e propriedades de objeto não são encurtados, porque algo fora do arquivo pode depender deles.
Minificar JavaScript com expressões regulares é impossível de fazer corretamente. Uma barra pode ser divisão, início de expressão regular ou início de comentário, e só a análise sintática distingue.
O caso mais traiçoeiro é a inserção automática de ponto e vírgula: código escrito sem ponto e vírgula depende das quebras de linha. Um minificador que colapsa espaços em branco sem entender o código transforma duas declarações em uma linha só e produz um erro de sintaxe.
O mesmo vale para o conteúdo entre aspas: espaços dentro de uma string são dados, não formatação, e não podem ser tocados.
Todo o processamento acontece no seu navegador. O código colado não é enviado para servidores nem registrado, o que torna a ferramenta adequada para código proprietário.
O Terser é baixado apenas quando você abre esta página, para não pesar nas demais.
Arquivos muito grandes podem deixar a interface momentaneamente ocupada, já que a análise roda na mesma linha de execução da página.
Perguntas frequentes
Com análise sintática, não deveria. Se a saída falhar, o motivo mais comum é código que depende de nomes de função em tempo de execução, por reflexão ou por nome exibido em log — o mangling encurta esses nomes.
Minificar reescreve o código para ocupar menos caracteres. Comprimir, com gzip ou brotli, acontece no transporte e é desfeito pelo navegador. Os dois se somam.
Não de forma exata. Nomes originais e comentários se perdem. É possível reindentar para facilitar a leitura, mas a informação removida não volta — mantenha sempre o código fonte.
Porque o analisador encontrou algo inválido antes de minificar. A mensagem indica a posição. Sintaxes muito novas ou específicas de TypeScript e JSX não são reconhecidas — minifique apenas JavaScript já compilado.
Não. A minificação acontece inteiramente no seu navegador.