Minificador JS
Usa Terser, con análisis sintáctico real — la salida es código válido, no sustitución de texto.
- Pega el JavaScript en el campo de entrada.
- La minificación se ejecuta automáticamente tras una breve pausa al escribir.
- El resultado muestra el tamaño original, el final y el porcentaje ahorrado.
- Si el código tiene un error de sintaxis, aparece el mensaje del analizador en lugar de una salida rota.
La herramienta usa Terser, el mismo motor que se ejecuta en builds de producción en buena parte del ecosistema JavaScript. Analiza la sintaxis de verdad, en lugar de aplicar sustituciones de texto.
Además de eliminar comentarios y espacios, acorta nombres de variables y parámetros locales, elimina código inalcanzable y resuelve expresiones constantes. Sumar 1 y 2 pasa a ser simplemente 3 en la salida.
Los nombres exportados y las propiedades de objeto no se acortan, porque algo fuera del archivo puede depender de ellos.
Minificar JavaScript con expresiones regulares no se puede hacer correctamente. Una barra puede ser división, el inicio de una expresión regular o el inicio de un comentario, y solo el análisis sintáctico los distingue.
El caso más traicionero es la inserción automática de punto y coma: el código escrito sin punto y coma depende de los saltos de línea. Un minificador que colapsa espacios sin entender el código junta dos sentencias en una línea y produce un error de sintaxis.
Lo mismo vale para el contenido entre comillas: los espacios dentro de una cadena son datos, no formato, y no se pueden tocar.
Todo el procesamiento ocurre en tu navegador. El código pegado no se envía a ningún servidor ni se registra, lo que hace la herramienta adecuada para código propietario.
Terser se descarga solo cuando abres esta página, para no pesar en las demás.
Los archivos muy grandes pueden ocupar la interfaz por un momento, ya que el análisis se ejecuta en el mismo hilo que la página.
Preguntas frecuentes
Con análisis sintáctico no debería. Cuando la salida falla, la causa habitual es código que depende de nombres de función en tiempo de ejecución, por reflexión o por nombres mostrados en logs, ya que el mangling los acorta.
Minificar reescribe el código para que ocupe menos caracteres. Comprimir, con gzip o brotli, ocurre en el transporte y lo deshace el navegador. Ambos se suman.
No de forma exacta. Los nombres originales y los comentarios se pierden. Puedes reindentar el resultado para leerlo, pero la información eliminada no vuelve: conserva siempre el código fuente.
Porque el analizador encontró algo inválido antes de minificar. El mensaje indica la posición. La sintaxis muy nueva, o TypeScript y JSX, no se reconoce: minifica JavaScript ya compilado.
No. La minificación ocurre por completo en tu navegador.