Minificar JavaScript

Elimina comentarios y espacios innecesarios de JavaScript sin tocar cadenas, plantillas ni expresiones regulares. Respeta el código sin punto y coma y no renombra variables.

El resultado aparecerá aquí.

Cómo funciona Minificar JavaScript

Elimina comentarios y espacios innecesarios de JavaScript sin tocar cadenas, plantillas ni expresiones regulares. Respeta el código sin punto y coma y no renombra variables.

Entrada JavaScript
Salida JavaScript minificado
Trabajos realizados 3.893

Herramientas relacionadas

Guía de uso

Con esta herramienta puedes minificar JavaScript eliminando comentarios, sangrías y espacios innecesarios. Lee el código pieza a pieza, así que las cadenas, las plantillas literales y las expresiones regulares no se alteran, y conserva los saltos de línea de los que depende la inserción automática de punto y coma. Tampoco acorta nombres de variables: el resultado sigue siendo reconocible al depurar. Todo ocurre en tu navegador.

Cómo minificar JavaScript en cuatro pasos

  1. Pega el código en el campo de entrada: una función suelta o un archivo entero.
  2. Minifícalo con el botón de ejecutar o con Ctrl + Enter.
  3. Mira bajo la salida cuántos caracteres y bytes ocupa ahora.
  4. Copia el resultado a tu página o archivo y ejecútalo una vez para confirmar que todo sigue igual.

Qué hace y qué no hace

Operación¿La aplica?
Eliminar comentarios // y /* */Sí, salvo los que empiezan por /*! (licencias) y la línea #! inicial
Quitar sangrías y espacios sobrantesSí, dejando un espacio donde unir dos piezas cambiaría el sentido, como en a+ +b
Unir líneasSolo cuando es seguro para la inserción automática de punto y coma
Acortar nombres de variables y funcionesNo
Eliminar código muerto o precalcular constantesNo
Transformar sintaxis moderna para navegadores antiguosNo
Generar mapas de código fuenteNo

Un ejemplo con el carrito de compra

Una función totalCarrito(productos, iva) de ocho líneas, con un comentario de cabecera, otro al final de una línea y sangría normal, ocupa 210 caracteres. Minificada queda en dos líneas: function totalCarrito(productos,iva){let total=0;for(const p of productos){total+=p.precio*p.cantidad;} y después return total*(1+iva);}, 126 caracteres en total.

¿Por qué no queda todo en una línea? Porque el salto anterior a return se conserva como margen de seguridad. Aquí unirlo no causaría problemas, pero la herramienta solo une líneas cuando puede demostrar que el significado no cambia. Cuesta un byte y evita sorpresas.

Código sin punto y coma: los casos delicados

  • let a = 1 y, en la línea siguiente, let b = 2 siguen en líneas separadas; unidas darían un error de sintaxis.
  • return seguido de 42 en otra línea no se une: unido, la función devolvería 42 en lugar de undefined.
  • El salto anterior a un ++ o -- al principio de línea se mantiene.
  • Los espacios dentro de 'Hola mundo' o de /a b/g son datos y no se tocan.

Un caso que suele confundir: si una línea termina en const c = a y la siguiente empieza por (b), el resultado es const c=a(b). No es culpa del minificador: JavaScript ya interpretaba el original como una llamada a función. Si una línea tiene que empezar por paréntesis o corchete, pon un punto y coma delante.

¿Esta herramienta o un empaquetador?

Para una aplicación completa, un empaquetador que renombre variables y elimine código sin usar ahorrará más. Esta página está pensada para trabajos rápidos sin instalar nada: el campo de script personalizado de un CMS, un pequeño widget para una página de aterrizaje, un fragmento que vas a enviar a un cliente o un marcador con código (bookmarklet). En este último caso escribe todos los punto y coma: los navegadores eliminan los saltos de línea de las direcciones y cualquier salto que la herramienta conserve se perdería. Si quieres el contexto completo, lee qué es minificar código.

Privacidad y herramientas relacionadas

La minificación se hace con JavaScript en tu pestaña; el código no se envía al servidor y la página solo suma un contador de uso anónimo. La herramienta no valida la sintaxis: si entra código con errores, sale código con errores. Para leer un script minificado usa formatear JavaScript, y para páginas con scripts incrustados, minificar HTML aplica las mismas reglas a cada bloque. Más utilidades en herramientas para desarrolladores.

Preguntas frecuentes

Con código válido no debería. Solo se eliminan comentarios y espacios sin significado; las cadenas, las plantillas literales y las expresiones regulares quedan intactas, y se mantienen los saltos de línea que importan para la inserción automática de punto y coma. Los nombres tampoco cambian. Como la herramienta no comprueba la sintaxis, es buena idea ejecutar una vez el archivo minificado antes de publicarlo.

Renombrar con seguridad exige analizar el programa completo: qué nombres son globales, cuáles usan otros scripts de la página y cuáles se exportan. Un fragmento pegado no aporta ese contexto, y renombrar podría romper funciones llamadas desde atributos HTML o desde otros archivos. Esta herramienta evita ese riesgo. Si quieres el ahorro extra del renombrado, deja que lo haga un empaquetador durante la compilación.

Depende de cuánto del archivo sean comentarios y sangrías. Un código bien comentado y sangrado puede reducirse de forma notable, como en el ejemplo de 210 a 126 caracteres, mientras que un código ya compacto apenas cambiará. Al no acortar nombres, el resultado será algo mayor que el de un minificador que renombra. En ambos casos, la compresión gzip o Brotli del servidor reduce todavía más lo que se transfiere.

Sí. Los comentarios de bloque que empiezan por /*! se mantienen en su sitio, porque es la convención habitual para los avisos de copyright y licencia que muchas licencias de código abierto obligan a conservar en las copias distribuidas. También se conserva la línea #! inicial. El resto de comentarios, incluidas notas pendientes y código comentado, se elimina.