Empacote JavaScript no invólucro eval clássico ou desempacote uma carga para recuperar o código. É ofuscação, não criptografia, e o desempacotamento executa o código: use apenas scripts confiáveis.
Funciona localmente no seu navegadorEmpacotar reescreve o JavaScript dentro do invólucro eval(function(p,a,c,k,e,d){…}(…)) do clássico empacotador Base62: cada palavra vira um índice em um dicionário de palavras únicas ordenadas, e a carga mantém o texto original com aspas, barras invertidas e quebras de linha escapadas. Desempacotar avalia essa carga nesta página e mostra o JavaScript que ela devolve.
Isto é ofuscação, não criptografia, e desempacotar executa o código que você cola: use apenas scripts confiáveis. Os dois botões trabalham só com o texto da caixa, nada é enviado e a página não faz nenhuma requisição ao empacotar ou desempacotar.
Cada palavra (letras, dígitos, sublinhado e $) é trocada por um índice em base 62 (0-9, depois a-z, depois A-Z) e as palavras únicas entram no dicionário que viaja com a carga. A carga é uma string entre aspas simples, então aspas, barras invertidas e quebras de linha são escapadas em vez de apagadas: um comentário // continua sendo comentário e uma instrução sem ponto e vírgula mantém sua quebra de linha.
O resultado é JavaScript comum: colado em uma página, ele executa, e qualquer desempacotador que avalie o invólucro devolve o código original. Nesta versão a ida e volta foi verificada byte a byte com aspas escapadas, expressões regulares com barras invertidas, template literals, comentários de bloco, arquivos sem ponto e vírgula, texto CJK, identificadores com $, texto JSON e dicionários com mais de 60 palavras.
Desempacotar aceita qualquer carga que seja avaliada como texto, inclusive as geradas por este mesmo invólucro em outro site. A caixa de resultado é somente leitura e tem realce de sintaxe, e o botão de copiar copia o texto.
Desempacotar avalia a entrada dentro desta página — é exatamente para isso que serve o invólucro eval() — então desempacote apenas código confiável. Se a carga lançar erro ou devolver algo que não é texto JavaScript, aparece um aviso em vez de uma caixa vazia.
Empacotar reduz o código a uma linha e costuma diminuir código repetitivo: 2,7 KB de funções viraram 1,8 KB, 16,7 KB viraram 11 KB e 85 KB viraram 55 KB, com empacotamento entre 1 e 5 ms e desempacotamento entre 0,3 e 3 ms no Chrome.
Como o invólucro é reversível por natureza, trate o resultado como ofuscação contra leitura casual, não como proteção de um segredo: qualquer pessoa pode colá-lo aqui ou em outro desempacotador e recuperar o código.