Saltar al contenido

Ofuscador JavaScript

Convierte el código fuente JavaScript en un fragmento codificado en hexadecimal eval(unescape(...)) que oculta el código de una ojeada.

Entrada
Salida

Ofuscador JavaScript

Pega cualquier código fuente JavaScript y esta herramienta lo reescribe como una sola cadena escapada en hexadecimal que se rearma y se ejecuta con eval(unescape('...')). Es el clásico truco de "ofuscación básica": cada carácter de tu código se convierte en una secuencia de escape %XX (o %uXXXX para caracteres fuera de los primeros 256 puntos de código), por lo que el código fuente ya no es legible de un vistazo — sin nombres de variables, sin literales de cadena, sin comentarios visibles.

De forma predeterminada, el resultado se envuelve en una función autoejecutable, (function(){eval(unescape('...'))})();, por lo que puedes insertar el resultado directamente en una etiqueta <script> u otro archivo y se ejecuta inmediatamente, exactamente como el original. Desactiva "Envolver en función autoejecutable" si prefieres solo la declaración eval(unescape('...')); en su lugar, por ejemplo para incrustarlo dentro de una función que ya controlas.

Esta es ofuscación, no cifrado ni seguridad: unescape() y eval() son visibles en el resultado, y decodificar la cadena hexadecimal de vuelta al código fuente es una operación de una línea para cualquiera que mire — una consola del navegador lo hace tan rápido como puedas pegar. Úsalo como una forma de disuadir la copia casual o mantener un fragmento fuera de una vista rápida del código fuente, no como una forma de proteger secretos, claves API o cualquier cosa que realmente deba mantenerse confidencial.

Todo se ejecuta localmente en tu navegador. El código que pegas nunca se carga ni se envía a ningún lugar, por lo que es seguro ofuscar scripts propios o no publicados. El contador en vivo bajo el resultado muestra cuántos caracteres entraron, cuántos salieron y cuántos bytes se codificaron en hexadecimal, para que puedas ver el aumento de tamaño antes de copiar o descargar el resultado.

Preguntas frecuentes

¿Es esta seguridad real o se puede desofuscar el código?
No es seguridad. Cualquiera puede ejecutar unescape() en la cadena dentro del resultado y obtener tu código fuente original en un paso — esto solo oculta el código de una ojeada, no de alguien que realmente mire.
¿Se comportará el código ofuscado exactamente igual que el original?
Sí. eval(unescape('...')) reconstruye y ejecuta el código fuente original exacto, carácter por carácter, incluyendo espacios en blanco, saltos de línea y contenido de cadenas.
¿Qué hace "Envolver en función autoejecutable"?
Envuelve la llamada eval(unescape('...')) en (function(){...})(); para que el resultado se ejecute inmediatamente como una declaración independiente. Desactívalo si quieres colocar la llamada eval(unescape('...')); dentro de tu propia función o ámbito.
¿Funciona también con código minificado?
Sí. Puedes ofuscar cualquier texto JavaScript, minificado o no — la herramienta trata la entrada como texto plano y la codifica en hexadecimal carácter por carácter, por lo que minificar primero (con un minificador CSS/JS) solo hace que la salida codificada sea más corta.
¿Mi código fuente se carga en algún lugar?
No. El ofuscador se ejecuta completamente en tu navegador — el código que pegas nunca abandona tu dispositivo.