Resumen / Desarrollo y código / Minificador de código
Desarrollo y código 100% en el navegador y sin conexión

Minificador de código

Minifica JavaScript con Terser y CSS con csso en tu navegador, con el ahorro en bytes y en gzip.

Pega o escribe tu entrada; el resultado aparece al instante y los errores se muestran debajo.

Tus archivos y datos nunca salen de tu navegador: no se sube nada.

Opciones

Los nombres de nivel superior no cambian si no activas su acortamiento. Esa opción puede romper scripts que se llaman entre sí desde varios archivos o que usan globales del HTML. Los comentarios de licencia son los que empiezan por /*! o contienen @license o @preserve. La versión fija la sintaxis más reciente que Terser puede escribir. Quitar console y debugger requiere "Comprimir el código".

Límites: 2.000.000 de caracteres. Los tamaños son bytes UTF-8. La línea de gzip solo aparece si tu navegador tiene CompressionStream. El HTML no se minifica. Minificar cambia el código, así que prueba el resultado antes de publicarlo. Tu código se procesa en esta página y no se envía a ningún sitio.

31 KB de CSS con comentarios del equipo de diseño, o un script de analítica que alguien pegó hace años en la plantilla: ambos pesan más de lo necesario. Pega el código aquí y obtendrás la versión minificada, calculada con Terser para JavaScript y con csso para CSS.

Pasos para minificar

  1. Elige JavaScript o CSS en la parte superior.
  2. Sustituye el ejemplo por tu código. El resultado se actualiza unos 300 ms después de dejar de escribir.
  3. Ajusta las opciones que necesites.
  4. Pulsa Copiar o Descargar. El archivo se llama script.min.js o styles.min.css.

Opciones de JavaScript

Hay seis interruptores: Comprimir el código, Acortar nombres de variables, Acortar nombres de nivel superior, Conservar nombres de clases y funciones, Quitar llamadas a console.* y Quitar sentencias debugger. Los dos últimos solo funcionan con la compresión activada.

El riesgo de los nombres de nivel superior

Esta opción está desactivada de serie, y con razón. Si tu app.js define function iniciar() y el HTML tiene onclick="iniciar()", el acortado la renombrará y el botón dejará de funcionar. Lo mismo ocurre cuando otro archivo llama a tus funciones por su nombre. Actívala solo con código autónomo.

Versión de ECMAScript y comentarios

La versión (ES2015, ES2017, ES2020 o ES2022) marca la sintaxis más reciente que Terser puede escribir. Elige la más antigua que tus usuarios necesiten. Los comentarios se pueden quitar todos, conservar solo los de licencia (/*!, @license o @preserve) o conservar todos.

CSS con csso

csso convierte margin: 0px 0px 0px 0px en margin:0 y acorta los colores. Con Reestructurar reglas también fusiona reglas con declaraciones iguales. Desactívalo si el orden exacto de tus reglas importa. Las propiedades personalizadas y los bloques @media se conservan.

Límites y qué ocurre con tu código

El máximo son 2.000.000 de caracteres. Los tamaños se miden en bytes UTF-8. La línea de gzip aparece solo si el navegador tiene CompressionStream. Un error de sintaxis en JavaScript muestra línea y columna, pero csso no avisa de errores en CSS: una parte rota puede desaparecer sin mensaje. El HTML no se minifica.

Minificar cambia el código y no hay garantía de que el código poco habitual se comporte igual, así que prueba el resultado. Terser y csso se ejecutan en tu navegador. La primera vez, la página descarga el archivo de la librería desde su propio servidor, como puedes ver en la pestaña de red. Después, al pulsar un botón no se envía nada. Tu código ni se sube ni se ejecuta.

Preguntas frecuentes (FAQ)

Solo si nada fuera del archivo usa esos nombres. Los manejadores onclick del HTML y otros scripts que llaman a tus funciones dejarían de funcionar; por eso la opción viene desactivada.