100 % local: tus datos nunca salen de tu navegador

Minificador HTML — página más ligera, mismo aspecto

Quita los espacios de un HTML. Los valores de atributos y los espacios entre elementos en línea se quedan: la página adelgaza y se ve igual.

Instantáneo Privado Cero cookies

Entrada HTML

Salida HTML

Qué hace esta herramienta

HTML legible se vuelve el HTML más pequeño que se renderiza igual.

<div>
  <p>  Hola  </p>
</div>
<div><p> Hola </p></div>

Las series de espacios se vuelven un espacio, los espacios entre elementos de bloque se van, y los comentarios se van, salvo los condicionales, que son instrucciones a un navegador viejo antes que notas a un lector.

El espacio entre dos elementos en línea es contenido

<span>a</span> <span>b</span>
<span>a</span> <span>b</span>

Ahí no hay nada que quitar: ese espacio se renderiza, y borrarlo convierte «a b» en «ab». Se borraba, lo que hacía la página distinta en vez de más pequeña —un defecto real, encontrado al escribir esta página y corregido—. Alrededor de un elemento de bloque el mismo espacio no renderiza nada, así que se va:

<div>a</div>   <div>b</div>
<div>a</div><div>b</div>

El valor de un atributo no es maquetación

<input value="a  b">
<input value="a  b">

Los dos espacios se quedan. Se aplastaban en uno porque la pasada sobre los espacios atravesaba los atributos, y el valor que envía un formulario, el texto de un title, el contenido de un alt son datos, no indentación. Los valores entrecomillados se apartan antes del aplastado y se reponen intactos.

Dónde no entra nunca

  • <pre> y <textarea>. Mostrados o enviados exactamente como están escritos.
  • <script> y <style>. Su contenido es JavaScript y CSS; sus minificadores son herramientas aparte en este sitio, y lanzarlos es decisión tuya, no un efecto secundario de esta.
  • Los comentarios condicionales. <!--[if IE]>…<![endif]--> lo lee un navegador, así que se queda.

Un límite que conviene conocer: una región protegida acaba en su etiqueta de cierre, localizada por patrón. Un </script> literal dentro de una cadena JavaScript la termina, pues, demasiado pronto. Tratar bien ese caso exige un analizador HTML completo, que es otra herramienta distinta de un minificador de espacios.

Privado por diseño

Todo se ejecuta localmente en tu navegador con JavaScript. Tus datos nunca se suben a un servidor, lo que hace que la herramienta sea segura para contenido sensible y funcione sin conexión.

Preguntas frecuentes

¿Cambia el aspecto de mi página?
No, y eso mereció una corrección. El espacio entre dos elementos en línea se renderiza: `<span>a</span> <span>b</span>` se lee «a b», y quitarlo daba «ab». Ahora se conserva cuando los dos lados son en línea, y se quita alrededor de los elementos de bloque, donde no renderiza nada. Más pequeño, no distinto.
¿Se tocan los valores de mis atributos?
Ya no. El aplastado de espacios los atravesaba: `<input value="a b">` volvía con un solo espacio, y el valor que envía un formulario no es cuestión de maquetación. `title`, `alt`, `data-*` y los demás tenían el mismo problema. Los valores entrecomillados se apartan ahora antes del aplastado y se reponen exactamente como estaban.
¿Qué se deja del todo en paz?
`<pre>` y `<textarea>`, cuyos espacios se muestran o se envían tal cual; `<script>` y `<style>`, cuyo contenido no es HTML; y los comentarios condicionales (`<!--[if IE]>`), que son instrucciones y no notas. Los comentarios normales sí se quitan. Un límite conocido: un `</script>` literal dentro de una cadena JavaScript cierra la región protegida demasiado pronto — detectarlo de verdad exige un analizador HTML completo.
` literal dentro de una cadena JavaScript cierra la región protegida demasiado pronto — detectarlo de verdad exige un analizador HTML completo."}}]}

Convertidores relacionados