Site lento por causa do JavaScript?
Minificador de JavaScript que roda no seu navegador: cole o código e ele volta sem espaços, comentários e quebras de linha desnecessárias — pronto para produção. O comportamento do script não muda; o peso, sim. Grátis, sem cadastro, e disponível via API para integrar ao seu processo de publicação.
Executar grátis
Roda direto no seu navegador. Grátis, sem cadastro — seus dados não são enviados para lugar nenhum.
Minificar, comprimir, ofuscar: cada coisa é uma coisa
Minificar é tirar do arquivo tudo o que o motor JavaScript ignora: espaços, quebras de linha e comentários. Comprimir (gzip, por exemplo) é o servidor empacotar o arquivo para a viagem — as duas técnicas se combinam. Já ofuscar é reescrever o código para dificultar a leitura, o que é outro objetivo e outra ferramenta. Aqui o foco é o primeiro passo: o mesmo script, com o mesmo comportamento, em bem menos bytes. Ninguém precisa mudar uma linha de código para colher o ganho.
O peso do JS é o peso que o celular sente
Diferente de imagem, JavaScript não é só download: depois de baixado, ele precisa ser interpretado e executado, e é aí que aparelhos mais simples sofrem. Em um site acessado majoritariamente pelo celular — a realidade brasileira —, cada kilobyte de script cobra duas vezes: na rede e no processador. Minificar reduz a primeira conta na hora e ajuda indiretamente na segunda, porque o arquivo chega antes. Os relatórios de Core Web Vitals e do PageSpeed tratam isso como item básico de otimização.
Passo a passo
Cole o código JavaScript na caixa e execute: o resultado sai pronto para copiar ou baixar. Tudo roda dentro do seu navegador — o script não é enviado a servidor nenhum, sem limite de uso e sem cadastro. Uma recomendação de quem publica com frequência: mantenha o arquivo legível no seu controle de versão e gere o minificado só na hora de subir. Assim você nunca edita a versão compacta por engano, um erro clássico que custa horas de depuração.
Sem esteira de build? A API resolve
Quem já usa bundler provavelmente minifica com plugins locais — e está ótimo. A API entra quando não há build: sites legados, scripts gerados dinamicamente, CMS que aceita upload manual, automações que montam páginas em produção. Você envia o JS por HTTP, recebe a versão enxuta e paga US$ 0,002 por chamada, com limite de 25 MB por arquivo. Sem assinatura: cada chamada é cobrada individualmente, o que para volumes pequenos sai mais barato do que manter infraestrutura própria.
Casos de uso
Script legado sem ferramenta de build
Carlos herdou o site de um cliente com um main.js de dez anos, editado direto no FTP. Sem Node nem bundler no projeto, ele minifica pela ferramenta antes de cada ajuste publicado e mantém o original comentado no computador.
Landing page de campanha
Uma agência sobe landing pages que vivem poucas semanas. Não compensa montar build para cada uma: o JS de cada página passa pela API no momento da publicação e sai do forno já minificado.
Plugin do WordPress ajustado
Márcia adaptou o script de um plugin no tema filho do e-commerce. Antes de subir, cola o arquivo na ferramenta e publica a versão leve — o site vende principalmente pelo celular, onde cada kilobyte pesa.
Widget embarcado em site de terceiros
A TecnoSul distribui um widget de atendimento que os clientes colam nos próprios sites. O arquivo é minificado via API a cada versão nova, porque um script embarcado pesado prejudica o site de quem instala.
Perguntas frequentes
Tem risco de o script parar de funcionar?
Se o código é JavaScript válido, o comportamento continua idêntico: só saem espaços, quebras de linha e comentários. Atenção a um caso clássico: código que depende de ponto e vírgula automático em linhas específicas já é frágil por natureza — teste o resultado como testaria qualquer publicação.
Isso protege meu código de cópia?
Não. Minificar dificulta um pouco a leitura, mas qualquer pessoa consegue reformatar o arquivo em segundos. Se a preocupação é propriedade intelectual, o caminho é outro (ofuscação, licenciamento) — não prometemos essa proteção aqui.
O que acontece com o código que eu colo?
Na ferramenta da página, nada sai do seu navegador: o processamento é local e a gente não vê nem armazena o seu script. É o modo recomendado para código fechado de cliente.
Quanto custa e como funciona a cobrança da API?
US$ 0,002 por chamada, com arquivos de até 25 MB. Não tem mensalidade nem pacote mínimo: você paga pelo que usar, e o preço fica publicado na página.
Tem que criar conta ou fazer login em algum momento?
Não — no navegador o uso é livre, e na API por enquanto não existe cadastro: a compra é direta e quem atende é gente de verdade, em espanhol ou inglês (pode escrever em português que dá certo).
Serve para minificar JSON ou CSS também?
Esta página cuida só de JavaScript. O KIT tem ferramentas próprias para CSS e JSON, com a mesma lógica: grátis no navegador, API por uso.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/data/js-minify \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/data/js-minify", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/js-minify",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/js-minify", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/js-minify", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"input": "…"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.js_minify",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_mb | 25 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |