Saltar al contenido
Aback Tools Logo

Desofuscador de nombres de variables JavaScript

Analiza nombres ofuscados de variables, funciones y clases en código JavaScript y obtén sugerencias de nombres significativas basadas en el contexto de uso. Pega tu código, revisa las sugerencias con sus valoraciones de confianza, edítalas o acéptalas, crea un mapa de renombrado y previsualiza el código desofuscado: todo gratis, privado y sin registro.

JavaScript Variable Name Deobfuscator

Paste JavaScript code with obfuscated variable names (a, b, _0x, etc.) and get meaningful name suggestions based on usage context. Edit suggestions, build a rename mapping, and preview the deobfuscated code.

Live analysis — results update as you type

Detected Obfuscated Identifiers (15)

e×4High confidence
length
c) { var d = []; for (var e = 0; e < b.length; e++) { ... var d = []; for (var e = 0; e < b.length; e++) { var f ... for (var e = 0; e < b.length; e++) { var f = b[e]; if
i×4High confidence
length
a) { let r = []; for (let i = 0; i < data.length; i++) { ... let r = []; for (let i = 0; i < data.length; i++) { let ... (let i = 0; i < data.length; i++) { let v = data[i];
v×4High confidence
length
< data.length; i++) { let v = data[i]; if (v.status = ... let v = data[i]; if (v.status === 'active') { ... active') { r.push({ id: v.id, val: v.amount * 1.1 });
b×3High confidence
length
function a(b, c) { var d = []; for (va ... d = []; for (var e = 0; e < b.length; e++) { var f = b[ ... b.length; e++) { var f = b[e]; if (f > 10) { d
d×3Medium confidence
first
function a(b, c) { var d = []; for (var e = 0; e < b ... b[e]; if (f > 10) { d.push(f * 2); } } retu ... sh(f * 2); } } return d; } function _0x42(x, y) {
f×3High confidence
length
e < b.length; e++) { var f = b[e]; if (f > 10) { ... ) { var f = b[e]; if (f > 10) { d.push(f * 2); ... if (f > 10) { d.push(f * 2); } } return d; }
data×3Medium confidence
length
urn z * 1.5; } function proc(data) { let r = []; for (let i ... r = []; for (let i = 0; i < data.length; i++) { let v = da ... ta.length; i++) { let v = data[i]; if (v.status === 'act
r×3High confidence
id
function proc(data) { let r = []; for (let i = 0; i < d ... .status === 'active') { r.push({ id: v.id, val: v.amoun ... * 1.1 }); } } return r; }
x×2Medium confidence
first
return d; } function _0x42(x, y) { const z = x + y; re ... ion _0x42(x, y) { const z = x + y; return z * 1.5; } fun
y×2Medium confidence
first
eturn d; } function _0x42(x, y) { const z = x + y; retur ... _0x42(x, y) { const z = x + y; return z * 1.5; } functio
z×2Medium confidence
data
unction _0x42(x, y) { const z = x + y; return z * 1.5; } ... { const z = x + y; return z * 1.5; } function proc(data)
a×1Medium confidence
accumulator
function a(b, c) { var d = []; for (
c×1Medium confidence
config
function a(b, c) { var d = []; for (var e
_0x42×1Low confidence
hexString__0x
} } return d; } function _0x42(x, y) { const z = x + y;
id×1High confidence
id
== 'active') { r.push({ id: v.id, val: v.amount * 1.1 })

Manual Rename

→

Add custom mappings for variables the detector may have missed.

Privacy Guarantee

All analysis runs entirely in your browser. Your code never leaves your device — no uploads, no API calls, no tracking.

Características

  • Detección automática de nombres ofuscados: analiza tu código en busca de nombres cortos (a, b, i, j), identificadores con prefijo hexadecimal (_0x...), variables solo con guiones bajos y otros patrones habituales en JavaScript minificado y ofuscado.
  • Sugerencias de nombres según el contexto: cada variable detectada se analiza en su contexto de uso: las palabras clave cercanas como count, user, id, error y result determinan el nombre significativo sugerido y su valoración de confianza.
  • Flujo interactivo de renombrado: acepta, edita o sobrescribe las sugerencias de cada identificador. Crea una tabla completa de mapeo de renombrado con los nombres original → desofuscado, sin búsquedas manuales.
  • Previsualización del código desofuscado: después de mapear las variables, previsualiza el código con todos los nombres originales sustituidos por los nombres desofuscados que elijas. Copia el código transformado o descarga el mapeo en JSON.

¿Qué es la desofuscación de nombres de variables?

La desofuscación de nombres de variables es el proceso de sustituir nombres de identificadores cortos, sin significado o codificados en código JavaScript por nombres significativos y descriptivos que expresen su propósito. Los nombres ofuscados como a, _0x42 o ____ se sustituyen por sugerencias como userCount, apiToken o resultData según cómo se usen.

Cómo funciona el desofuscador

La herramienta analiza tu código JavaScript para extraer todos los tokens con forma de identificador. Descarta las palabras clave de JavaScript, los nombres de la biblioteca estándar y las cadenas de acceso a propiedades. Cada identificador restante se puntúa por su probabilidad de estar ofuscado: la longitud corta, los prefijos hexadecimales, los patrones solo con guiones bajos y los nombres no descriptivos obtienen las puntuaciones más altas. Se analiza una ventana de contexto alrededor de cada uso: las palabras clave cercanas (por ejemplo, «count» sugiere un contador y «user», un objeto de usuario) determinan el reemplazo sugerido.

Niveles de confianza

Cada sugerencia incluye una valoración de confianza alta, media o baja. Confianza alta significa que el contexto cercano contiene una coincidencia de palabra clave fuerte e inequívoca. Media significa una coincidencia parcial o indirecta. Baja significa que el nombre parece ofuscado pero el contexto aporta pocas pistas: estas sugerencias son estimaciones basadas en convenciones habituales.

Privacidad y limitaciones

Este desofuscador funciona por completo en tu navegador. Tu código nunca sale de tu dispositivo. Está diseñado para analizar un solo archivo y funciona mejor con JavaScript independiente. Para una desofuscación de nivel profesional en varios archivos, considera usar una herramienta de escritorio específica como de4js o la reconstrucción de source maps. La herramienta solo analiza nombres de identificadores y patrones de uso: no sigue el estado en tiempo de ejecución ni el flujo de datos.

Preguntas frecuentes

La desofuscación de nombres de variables en JavaScript sustituye nombres de identificadores cortos, sin significado o codificados (como a, b, _0x42f3) por nombres descriptivos (como userName, totalCount, apiResponse) según cómo se usan esas variables en el código. Así el código ofuscado resulta mucho más fácil de leer y entender sin cambiar su comportamiento.

La herramienta recorre tu código en busca de tokens con forma de identificador y descarta las palabras clave de JavaScript y los nombres de la biblioteca estándar. Marca los nombres muy cortos (1-2 caracteres), los que usan patrones hexadecimales (_0x...), los formados solo por guiones bajos o los que contienen signos de dólar, todos ellos habituales en JavaScript minificado y ofuscado. Después analiza cada coincidencia en su contexto para generar una sugerencia significativa.

La precisión depende de cuánta información aporte el contexto del código. Cuando una variable se usa junto a palabras clave claras como «count», «user» o «error», la sugerencia se etiqueta con confianza alta. En contextos menos evidentes, las sugerencias se valoran como medias o bajas. Verifica siempre las sugerencias antes de usarlas: la herramienta ofrece un punto de partida, no una garantía de acierto.

Sí. Cada identificador detectado muestra un botón «Editar» junto a su nombre sugerido. Haz clic en él para escribir tu propio nombre y luego en «Guardar» para añadirlo al mapa de renombrado. Así tienes control total sobre el resultado desofuscado sin renunciar al análisis automático de la herramienta.

Sí. Después de renombrar variables, la tabla de mapeo muestra todos los pares original → desofuscado. Haz clic en «Descargar JSON» para guardar el mapeo como archivo .json. Es útil para documentación, revisión de código o para aplicar el mismo renombrado en varios archivos.

No. Todo el análisis y el renombrado se realizan únicamente en tu sesión del navegador. La previsualización del código desofuscado muestra cómo quedaría el código con tus mapeos aplicados, pero no se escribe nada en disco ni se transmite a ningún sitio. Copia manualmente el código transformado si quieres guardarlo.

Totalmente. El desofuscador de nombres de variables JavaScript funciona al 100 % en tu navegador. Tu código nunca se sube a ningún servidor, ni se guarda en ninguna base de datos, ni se transmite por la red. Todo el análisis sintáctico, el procesamiento y la lógica de sugerencias se ejecutan localmente en tu dispositivo, para una privacidad y seguridad completas.

Sí: 100 % gratis, sin registro, sin cuenta y sin límites de uso. Analiza tantos fragmentos de código como necesites, renombra tantas variables como quieras y descarga tus mapeos, todo gratis para siempre y sin cargos ocultos ni planes premium.