Português

Ofuscar código JavaScript online e grátis

Ofusque seu JavaScript sem criar conta: cole o código, escolha um preset e copie o resultado protegido. O programa continua funcionando igual, mas nomes, strings e estrutura são reescritos, então ler, copiar ou modificar o código fica muito mais trabalhoso.

Sem conta

Grátis para começar

A ferramenta online protege trechos de até 32 KB e permite testar todas as opções, inclusive as pagas, antes de escolher um plano.

OnlineColar, escolher preset, copiar.
CLI do npmPara o seu build e CI.
WindowsPastas inteiras no seu computador.
Como usar

Ofuscar JavaScript online em quatro passos

A ferramenta está em inglês; entre aspas está o texto exato de cada botão.

  1. Cole seu código no painel da esquerda ou envie um arquivo com “Upload File” (arquivos .js ou .txt).
  2. Escolha um preset: “Standard”, “Balanced” ou “Maximum”. Cada opção paga mostra o plano necessário fora da pré-visualização.
  3. Clique em “Obfuscate”. Abaixo do resultado aparece quais opções foram aplicadas e se alguma não teve efeito.
  4. Copie ou baixe o resultado com “Copy” ou “Download” e teste no seu aplicativo antes de publicar.

Abrir o ofuscador online ›

O que cada preset faz

  • Standard: renomeia variáveis, move e codifica as strings e comprime o resultado. Igual a --preset standard na CLI.
  • Balanced: adiciona nomes curtos, ofuscação profunda, transposição de código, Flat Transform e criptografia de strings.
  • Maximum: ativa todas as opções que funcionam num script de um único arquivo, incluindo as defesas em tempo de execução.
O que muda

O mesmo comportamento, outro código

Um exemplo real deste ofuscador: nomes substituídos e strings movidas para uma tabela e codificadas. As duas versões retornam o mesmo resultado.

Antes
function isLicensed(user) {
  var plan = user.plan;
  if (plan === "pro" || plan === "team") {
    return user.key !== "TRIAL-KEY";
  }
  return false;
}
Depois (formatado para leitura)
var _$_2476=["\x70\x72\x6F","\x74\x65\x61\x6D",
  "\x54\x52\x49\x41\x4C\x2D\x4B\x45\x59"];
function isLicensed(b)
{
	var a=b.plan;
	if(a=== _$_2476[0x0]|| a=== _$_2476[0x1])
	{
		return b.key!== _$_2476[0x2]
	}
	return false
}

Não dá mais para encontrar TRIAL-KEY no arquivo. Com “Encrypt Strings”, as strings deixam de aparecer até na forma codificada — veja a página sobre criptografar JavaScript (em inglês).

Para projetos inteiros

Ofuscar JS no seu build

Ofusque o bundle já gerado e minificado, nunca o código-fonte. Sem conta, a CLI aplica as opções gratuitas no seu computador: nada é enviado e não há limite de tamanho. As opções pagas usam o serviço hospedado.

npm install --save-dev javascriptobfuscator-com
npx javascriptobfuscator-com --input dist --output dist-protected

Há plugins para Rollup, esbuild, Rspack, Parcel e Gulp; para código Node.js, use --target node (detalhes na página da CLI, em inglês). Para pastas inteiras e JavaScript dentro de HTML, PHP, ASP ou JSP existe o aplicativo para Windows.

Antes de publicar

O que a ofuscação não faz

  • Não esconde segredos. Uma chave de API no navegador continua legível; deixe-a no servidor.
  • Não substitui as validações no servidor. Quem executa o código o controla.
  • Teste sempre a cópia protegida e mantenha os nomes chamados por outro código (APIs públicas, callbacks de frameworks).
  • Não publique os source maps: eles devolvem os nomes originais.
Planos

Preços publicados, em dólares por mês

PlanoPreçoPara quê
Free0 USDFerramenta online (até 32 KB), opções gratuitas da CLI sem limite, API com limites; renomeação e codificação de strings.
Basic29 USDArquivos maiores, compressão, ofuscação profunda e transposição de código.
Corporate49 USDMais capacidade, renomeação de nomes globais e inserção de código morto.
Enterprise99 USDCapacidade máxima, criptografia de strings e Flat Transform.

Detalhes de limites e opções na página de preços (em inglês).

Perguntas frequentes

Sobre o ofuscador de JavaScript

O ofuscador é grátis?

Sim. A ferramenta online não pede conta e protege trechos de até 32 KB, com todas as opções disponíveis para testar. Sem conta, a CLI do npm aplica as opções gratuitas no seu computador, sem enviar o código e sem limite de tamanho. Para as opções avançadas há planos a partir de 29 dólares por mês.

Dá para reverter o código ofuscado?

Código que roda no navegador sempre pode ser analisado. Testamos ferramentas como o webcrack: as strings muitas vezes voltam, mas nenhum nome original de variável foi recuperado. A ofuscação faz entender e reutilizar o código levar muito mais tempo; não é uma barreira de segurança nem serve para esconder chaves. Teste de desofuscação (em inglês)

A ofuscação deixa o código mais lento ou maior?

Renomear identificadores deixa o código menor. Tabelas de strings, criptografia e mudanças no fluxo de controle o deixam maior e podem acrescentar algum trabalho na inicialização. Meça o tamanho e o tempo de carregamento com o seu próprio código.

Meu código é enviado para um servidor?

Pela ferramenta online, sim. A CLI do npm, sem conta, aplica as opções gratuitas no seu computador e não envia nada; as opções pagas usam o serviço hospedado. O aplicativo para Windows, no modo Local Standard, também protege arquivos ES5 simples sem conexão.

Teste com o seu próprio código

Cole qualquer JavaScript, escolha um preset e compare o resultado. Não precisa se cadastrar.