Minificador JavaScript

Pega JavaScript para reducirlo con Terser: se elimina el código muerto, se acortan los nombres y desaparecen los espacios. Los errores de sintaxis indican la línea y columna exactas.

Funciona en tu navegadorSin registroNo se sube nada

Salida minificada

Cómo usar: Minificador JavaScript

  1. Pega tu JavaScript o abre un archivo .js.
  2. Elige las opciones: Acortar nombres acorta las variables locales, Comprimir reescribe el código en un equivalente más pequeño y Módulo ES habilita import/export de nivel superior.
  3. Elige el objetivo ECMAScript que admiten los navegadores de tus usuarios. ES2020 es seguro para todos los navegadores actualizados.
  4. Revisa el tamaño, el ahorro y la estimación gzip bajo la salida.
  5. Copia el código minificado o descárgalo como output.min.js.

¿Qué hace un minificador de JavaScript?

La minificación hace que el JavaScript ocupe menos sin cambiar lo que hace. Esta herramienta usa Terser, el minificador que hay detrás de webpack, Vite y Rollup, y aplica tres tipos de cambios:

  • Eliminación de espacios y comentarios: el motor de JavaScript no necesita la indentación, los saltos de línea ni los comentarios.
  • Mangling: los nombres de variables locales y parámetros de funciones como subtotal se convierten en letras sueltas. Los nombres globales y las propiedades de objetos no se tocan para que tu API pública siga funcionando.
  • Compresión: se pliegan las expresiones constantes, se elimina el código inalcanzable, las sentencias if se convierten en ternarios y las funciones cortas se insertan en línea.

Minificar frente a gzip: ¿hacen falta ambos?

Sí. Gzip y Brotli comprimen los patrones de bytes repetidos durante la transferencia, mientras que la minificación elimina bytes que el navegador tendría que descargar, analizar y compilar. Un script típico se reduce un 40–60 % con la minificación y otro 60–70 % con gzip. El tamaño gzip que se muestra aquí es una buena estimación de lo que realmente enviará tu servidor.

Conservar los comentarios de licencia

Muchas licencias de código abierto (MIT, BSD, Apache) exigen que el aviso de copyright acompañe al código. Por convención, los comentarios que empiezan por /*! o contienen @license o @preserve se conservan cuando Conservar comentarios de licencia está activado.

Cuándo no minificar a mano

Si tu proyecto ya usa un bundler, deja que minifique los builds de producción y genere source maps para depurar. Un minificador online es ideal para scripts puntuales, fragmentos para un CMS o un gestor de etiquetas, bookmarklets y para comprobar cuánto puede reducirse un fragmento de código.

Preguntas frecuentes

¿Se sube mi código a un servidor?
No. Terser se ejecuta dentro de la pestaña de tu navegador, así que el código propietario nunca sale de tu equipo.
¿Puede la minificación romper mi código?
Terser solo aplica transformaciones que mantienen idéntico el comportamiento del JavaScript válido. El código que depende de Function.prototype.toString() o de nombres de variables locales a través de eval puede verse afectado; en ese caso, desactiva Acortar nombres.
¿Admite sintaxis moderna como async/await, clases y encadenamiento opcional?
Sí. Terser analiza sintaxis ES2022+. El ajuste de objetivo solo controla qué sintaxis puede usar la salida; no transpila funciones nuevas a versiones antiguas.
¿Qué diferencia hay entre minify y uglify?
Significan lo mismo. UglifyJS era la herramienta clásica; Terser es su fork mantenido con soporte completo de ES2015+.

Herramientas relacionadas