Initializing, please wait a moment

Desminificar JS: Restaurar la Legibilidad de JavaScript Minificado

JavaScript minificado - el tipo entregado por todo bundler moderno con nombres como bundle.min.js o main.[hash].js - es una sola linea densa con nombres de variable de una letra, sin espacios en blanco y sin saltos de linea. Esta guia recorre el viaje de tres minutos desde esa forma compacta de vuelta a codigo indentado y con saltos de linea que su ojo puede leer. La herramienta companera en https://freetoolonline.com/developer-tools/js-unminifier.html ejecuta la desminificacion enteramente dentro del navegador, asi que el codigo fuente nunca sale de la pestana.

Ultima revision: 2026-05-20

PropiedadValor
FormatoHerramienta online, sin instalar
VelocidadEn el navegador; salida legible en segundos
PrivacidadEl codigo fuente se queda en el dispositivo; nada se sube
Renombrar variableNo se realiza - los nombres de una letra siguen siendo de una letra
Herramienta implementadorahttps://freetoolonline.com/developer-tools/js-unminifier.html

Lo que desminificar realmente hace (y lo que no puede hacer)

Desminificar revierte la mitad barata de la minificacion: re-inserta espacio en blanco, saltos de linea e indentacion consistente, asi que un bundle de una linea se vuelve codigo formateado legible. NO revierte la mitad cara - el renombrador. Variables llamadas a, b, t en el bundle minificado siguen llamandose a, b, t despues de desminificar, porque los nombres originales se descartaron en tiempo de build y no se preservo source map. Si un source map (archivo .map o comentario inline //# sourceMappingURL=) esta disponible, ese archivo apunta a los simbolos originales y es el artefacto correcto a cargar - no una pasada de desminificar. El enfoque para el lector: desminificar es la herramienta correcta para "tengo un bundle de terceros y quiero leer lo que hace"; un source map es la herramienta correcta para "tengo mi propio build y quiero depurar simbolos originales".

Recorrido de tres minutos

  1. Copie el bundle minificado. Abra el archivo .min.js en su editor o en la pestana de red del navegador (Response body), seleccione todo, copie.
  2. Pegue en el editor. Abra https://freetoolonline.com/developer-tools/js-unminifier.html y pegue en el panel de entrada. Bundles largos - cientos de KB o mas - funcionan, pero espere que la pasada de formato tome un segundo o dos mientras el parser recorre la AST.
  3. Haga clic en Unminify. El panel derecho muestra la salida indentada. Copie el resultado de vuelta a su editor o guardelo como un archivo .js local para lectura tipo grep.

Donde la salida desminificada ayuda y donde no

Leer codigo de terceros desminificado es util en tres situaciones concretas. Primero, triaje de vulnerabilidad - cuando un CVE nombra una funcion dentro de un bundle de proveedor, desminificar le permite localizar las llamadas y leer el flujo circundante sin montar el repo original. Segundo, confirmacion de comportamiento - cuando el comportamiento de una libreria varia entre versiones, comparar las versiones desminificadas saca la diferencia mucho mas rapido que leer la forma densa de una linea. Tercero, verificacion de salida de build - cuando su propio pipeline emite un bundle que misteriosamente carga dos veces un polyfill, la forma desminificada muestra los bloques IIFE duplicados de un vistazo. Desminificar no ayudara cuando el objetivo sean los nombres semanticos originales; para eso, entregue el source map junto al bundle y cargelo en su depurador.

Lo que se preserva, lo que se pierde

Espacio en blanco, saltos de linea e indentacion se restauran deterministicamente desde la AST. Los comentarios no se restauran - el minificador los quita en tiempo de build, y no queda informacion en el bundle para reconstruirlos. La estructura de modulo (llamadas CommonJS require, declaraciones ESM import) se preserva como aparece en la forma empaquetada, que a menudo es un wrapper generado en lugar del limite original del modulo. Optimizaciones a nivel de fuente como constant folding (5*60*60*1000 colapsado a 18000000) no se revierten - desminificar no entiende semantica, solo sintaxis. Si un numero se lee como criptico en la salida desminificada, busquelo en el repositorio original o adivine la unidad (milisegundos, bytes, indices).

Yendo en sentido contrario?

Si llego aqui buscando encoger JS para produccion en vez de expandirlo, la herramienta companera en https://freetoolonline.com/developer-tools/js-minifier.html realiza la direccion hacia adelante (eliminar espacios, acortar identificadores) y la guia de comparacion CSS Minifier vs Uglifier vs Tree-Shaking cubre como las tres transformaciones se apilan en un pipeline de build tipico. Para equivalentes del lado CSS, vea CSS Unminifier vs Prettier: Cuando Usar Cada Uno - la decision del lado JS es similar: desminificar al leer salida de terceros, source map al depurar la propia.

Preguntas frecuentes

Desminificar recupera los nombres originales de las variables?

No. Los minificadores reemplazan identificadores con nombres sinteticos cortos en tiempo de build y descartan los originales; la salida desminificada mantiene los nombres sinteticos. Cargue el source map correspondiente en el depurador de su navegador para ver los simbolos originales.

El codigo fuente se sube a algun lugar?

No. La pasada de desminificar se ejecuta enteramente en su navegador; el texto minificado nunca se envia a un servidor. Cierre la pestana y la entrada se va.

Desminificar rompera el JavaScript?

No. La transformacion es puramente cosmetica - espacio en blanco, saltos de linea, indentacion. La AST no cambia, asi que el codigo desminificado corre identicamente al minificado original. Pase por un verificador de sintaxis si quiere una confirmacion con cinturon y tirantes.

Cual es el limite de tamano de archivo?

Bundles de hasta varios megabytes funcionan en navegadores modernos; el tiempo de la pasada de formato crece aproximadamente lineal con la longitud de entrada. Bundles muy grandes (10 MB+) pueden trabar la pestana; en ese caso divida el bundle por limite de closure y desminifique cada chunk por separado.

Cual es la diferencia entre desminificar y prettier?

Desminificar restaura formato legible a codigo que fue deliberadamente compactado. Prettier (o un formateador similar) impone una guia de estilo elegida sobre codigo ya legible. Para un bundle de terceros minificado, desminifique primero; si despues quiere un ancho de indent o estilo de comillas especifico, ejecute prettier sobre la salida.

Why trust these tools

  • Ten-plus years of web tooling. The freetoolonline editorial team has shipped browser-based utilities since 2015. The goal has never changed: get you to a working output fast, without an install.
  • Truly in-browser - no upload. Every file-processing tool on this site runs in your browser through modern Web APIs (File, FileReader, Canvas, Web Audio, WebGL, Web Workers). Your photo, PDF, audio, or text never leaves your device.
  • No tracking during tool use. Analytics ends at the page view. The actual input you paste, drop, or capture is never sent to any server and never written to any log.
  • Open-source core components. The processing engines underneath (libheif, libde265, pdf-lib, terser, clean-css, ffmpeg.wasm, and others) are public and audit-able. We link to each one in its tool page's footer.
  • Free, with or without ads. All tools are fully functional without sign-up. The Disable Ads button in the header is always available if you need a distraction-free run.