Qué hace esta herramienta
HTML minificado o mal indentado se vuelve HTML legible.
<ul><li>a</li><li>b</li></ul>
<ul>
<li>a</li>
<li>b</li>
</ul>
Un nivel de indentación por nivel de anidamiento, dos espacios por defecto y cuatro si lo prefieres. Los nombres de etiqueta, los atributos y su orden no se tocan: esto es maquetación, no reescritura.
Un salto de línea no sale gratis
<p>Hola <b>mundo</b> otra vez</p>
Eso se queda en una línea. En HTML, el espacio entre dos elementos en línea forma parte del texto: corta la línea entre </b> y otra y habrás añadido un espacio, visible en el renderizado, en una selección, en un copiar y pegar. Por eso el formateador indenta alrededor de los elementos de bloque (div, p, ul, table…) y deja intactas las series de contenido en línea, por largas que sean.
Es la misma regla que el minificador HTML aplica en el otro sentido, y por la misma razón: nada que cambie la página renderizada cuenta como formateo.
Lo que nunca toca
<pre>y<textarea>. Sus espacios se muestran exactamente como están escritos; reindentarlos reescribiría la página y el valor del campo.<script>y<style>. Su contenido es JavaScript y CSS, no HTML; para eso están los formateadores de JavaScript y CSS de este sitio.- Tus atributos. Nombres, valores, comillas y orden salen como entraron, espacios dentro de un valor incluidos.
No es un validador
<div><p>x</div>
<div>
<p>x
</div>
El <p> sin cerrar vuelve sin cerrar. Un formateador lee el documento que le das y lo maqueta; adivinar dónde debía cerrarse una etiqueta sería reescribir tu marcado a ojo. Para saber si un documento está bien formado, usa un validador —el del W3C— o las herramientas de desarrollo del navegador, que muestran el árbol que el analizador construyó de verdad.
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.