LFUnminify, desminificador de código en línea de Ludovic Frank

Desminificar JavaScript en línea

Pega un archivo .js minificado, un paquete de webpack o un fragmento de una sola línea y obtén JavaScript con la sangría adecuada en el panel derecho. Prettier aplica el formato en tu navegador, sin subir nada a ningún servidor.

Aquí aparecerá tu código desminificado y formateado

Por qué JavaScript acaba siendo ilegible

Muchos procesos de compilación para producción minifican JavaScript antes de distribuirlo. Los minificadores eliminan espacios y comentarios innecesarios y pueden acortar nombres o reescribir expresiones. Otro paso independiente puede agrupar módulos en archivos más grandes, por lo que el script entregado puede diferir considerablemente del código fuente del proyecto. Estos pasos buscan conservar el comportamiento al preparar el código para su distribución, pero dificultan la inspección manual. Un proyecto con muchos módulos legibles puede llegar como unos pocos paquetes densos. El formato revela la estructura que permanece en esos paquetes sin revertir las transformaciones de compilación.

Qué recuperas realmente al formatear

Formatear un paquete añade saltos de línea, espacios y sangría que facilitan inspeccionar el programa restante. Las funciones anidadas y las ramas condicionales quedan a la vista, y resulta más fácil localizar cadenas o nombres de puntos de acceso. Los nuevos números de línea pertenecen a la copia formateada: una traza de pila del archivo minificado sigue remitiendo al archivo original. LFUnminify no traduce esas posiciones ni las conecta con mapas de código fuente. Utiliza la vista formateada para entender la lógica circundante y el depurador del navegador para investigar posiciones exactas durante la ejecución. Un buen punto de partida es una cadena característica de un mensaje de error o de una petición de red. Búscala en la copia formateada y lee las condiciones que la rodean, sin dar por hecho que la función más cercana causó el problema. Si el paquete incluye funciones auxiliares generadas o envoltorios de ejecución, seguirán presentes. Comparar ese contexto con el código fuente original, cuando esté disponible, proporciona una explicación más fiable que la sangría por sí sola.

Compatibilidad con sintaxis moderna

El formateador analiza JavaScript actual, no un subconjunto de hace diez años. Admite funciones flecha, clases, async y await, generadores, encadenamiento opcional, coalescencia nula, literales de plantilla, desestructuración, sintaxis de propagación, importaciones dinámicas y módulos ES. También admite JSX, algo relevante cuando inspeccionas un componente React compilado sin transformar esa sintaxis. Como Prettier realiza el trabajo, el resultado sigue convenciones uniformes, aunque los ajustes de esta herramienta pueden diferir de los de tu editor.

Dónde están los límites

El formato no revierte las transformaciones realizadas durante la compilación. Una variable llamada n sigue siendo n, aunque originalmente se llamara remainingRetries. Los módulos agrupados permanecen en el paquete proporcionado y los comentarios eliminados no pueden deducirse de forma fiable. El repositorio original o un mapa de código fuente pueden ayudarte a recuperar contexto fuera de esta herramienta. El código ofuscado deliberadamente sigue ofuscado tras formatearlo: las cadenas codificadas, las ramas artificiales y los nombres engañosos pueden seguir ocultando su significado. Usa el resultado como ayuda para inspeccionar el código y comprueba cualquier modificación en el proyecto real.

Preguntas frecuentes

¿Puedo desminificar un paquete de webpack o Vite?

Sí, puedes formatear paquetes JavaScript compatibles pegando su contenido o abriendo un archivo local. La salida conserva el código agrupado en lugar de reconstruir módulos fuente separados. Los paquetes grandes pueden ralentizar o bloquear el navegador, así que inspecciona una sección completa más pequeña siempre que sea posible.

¿Desofusca JavaScript?

Puede formatear sintaxis JavaScript compatible dentro de un archivo ofuscado, pero no elimina la ofuscación. Las cadenas codificadas, el flujo de control artificial y los nombres deliberadamente engañosos permanecen. La sangría puede ayudarte a investigar esas estructuras, pero una presentación legible no demuestra qué hace el script ni si es fiable.

¿Puede romper mi código?

El formateador busca conservar el comportamiento de JavaScript al aplicar un estilo uniforme. Puede cambiar la puntuación, las comillas y la distribución, por lo que el resultado no es una copia idéntica byte a byte. Conserva el original, revisa la salida y ejecuta las pruebas del proyecto antes de utilizar un paquete modificado o formateado en producción.

Desminificar otro formato