Nouplo

Minificador JavaScript

Más pequeño, y demostrablemente el mismo código.

Los ejemplos sustituyen temporalmente la entrada y los ajustes. Puedes recuperar tu trabajo anterior.

0 caracteres
Resultado
Pega o escribe arriba para ver el resultado aquí.

Tus archivos se quedan en tu dispositivo

Esta herramienta se ejecuta por completo en tu navegador. Lo que pegas se procesa en tu dispositivo y nunca se envía a un servidor, así que puedes usarla con tokens, claves y textos sin publicar.

Ejemplo

Ejemplo: el validador de DNI de un club deportivo, de 710 a 479 caracteres

El formulario de alta del Club Deportivo Arroyo Verde comprueba la letra del DNI al salir del campo: quita espacios, admite 12345678Z o 12345678-z y busca la letra por el resto entre 23. Son 21 líneas y 710 caracteres con tres comentarios. Ajuste: Minificar.

  1. Las cifras: antes 710, después 479, ahorrado 33 %. Las 21 líneas se quedan en 3 y los tres comentarios desaparecen.
  2. Las dos expresiones regulares, /^(\d{8})-?([A-Z])$/i y /\s/g, salen intactas con sus banderas i y g: van detrás de = y de un paréntesis, así que la herramienta sabe que no son divisiones.
  3. La cadena de letras 'TRWAGMYFPDXBNJZSQVHLCKE' y el aviso 'La letra del DNI no coincide.' se copian tal cual, espacios incluidos.
  4. Las dos versiones responden igual: 12345678Z y 12345678-z son válidos (12345678 entre 23 deja resto 14, que es la Z) y 12345678A no.
Parte Antes Después
Patrón const m = /^(\d{8})-?([A-Z])$/i.exec(valor.replace(/\s/g, ''));const m= /^(\d{8})-?([A-Z])$/i.exec(valor.replace(/\s/g,''));
Resto const resto = Number(m[1]) % 23;const resto=Number(m[1])%23;
Atributo campo.setAttribute('aria-invalid', ok ? 'false' : 'true');campo.setAttribute('aria-invalid',ok?'false':'true');
Archivo 21 líneas, 710 caracteres3 líneas, 479 caracteres (33 % ahorrado)

dniValido, campo y los id 'dni' y 'aviso-dni' no cambian de nombre, así que el HTML del formulario sigue igual y basta con subir el archivo de 479 caracteres.

Cómo funciona

  1. Pega el JavaScript.
  2. Los comentarios y la sangría desaparecen; los nombres se quedan exactamente como estaban.
  3. Comprueba el ahorro en las cifras de encima de la salida.
  4. Copia o descarga el resultado.

Preguntas frecuentes

¿Por qué no acorta mis nombres de variable?
Porque renombrar exige un analizador de verdad y un estudio de ámbitos, y equivocarse sutilmente en eso publica un archivo que funciona hasta que deja de hacerlo. Para algo que estás a punto de publicar, una herramienta que promete menos y siempre acierta es el mejor trato.
¿Distingue una expresión regular de una división?
Sí, y esa es la única parte genuinamente difícil de leer JavaScript sin analizarlo. Una barra después de un valor o de un cierre de paréntesis es división; después de un operador, un paréntesis de apertura, una coma, una palabra como return o typeof, o al principio, abre una expresión regular. Así x = /ab+c/g y return /a b/.test(s) se conservan enteros, espacios incluidos, y total/count sigue siendo una división.
¿Rompe la inserción automática de punto y coma?
No. Un salto de línea puede hacer de punto y coma, así que las líneas solo se juntan cuando la anterior acaba en un operador, una coma o un paréntesis de apertura, o esta empieza por un cierre, un punto o una coma. Una línea que acaba en ++ o -- o en una expresión regular conserva su salto, así que el código escrito sin punto y coma también sigue funcionando.
¿Se elimina mi cabecera de licencia?
No. Un bloque que empiece por /*! y cualquier comentario con @license o @preserve se conservan tal como están escritos, saltos de línea incluidos, en una línea propia. Los demás // y /* */ se van, también los bloques JSDoc /**.
¿El ahorro se cuenta en bytes?
En caracteres: antes y después son la longitud del texto tal como la cuenta JavaScript. Con código solo en letras sin acento coincide con los bytes; una ñ o una á ocupan dos bytes en UTF-8, así que un archivo con comentarios en español ahorra algo más en bytes de lo que indica el porcentaje.
¿Se envía algo a un servidor?
No. Funciona en tu navegador, así que lo que pegues se queda en tu ordenador.

Herramientas relacionadas