Formatea y ordena código HTML desordenado automáticamente con sangría consistente y alineación de atributos. Herramienta gratuita disponible en tu navegador.
Cargando editor...
Cargando editor...
Cuándo se aplica el formateador a la entrada anterior, produce:
<div class="container">
<header class="header">
<nav>
<a href="/" class="logo">DevBento</a>
<ul class="nav-list">
<li><a href="/tools">Tools</a></li>
<li><a href="/about">About</a></li>
</ul>
</nav>
</header>
<main>
<section class="hero">
<h1>Developer Tools</h1>
<p>Free, privacy-first tools that run in your browser.</p>
<a href="/tools" class="cta-button">Get Started</a>
</section>
</main>
<footer>
<p>© 2024 DevBento</p>
</footer>
</div>
La estructura anidada se vuelve inmediatamente visible. Las regiones header, main y footer son evidentes. Cada li permanece en una sola línea porque su contenido es un único elemento inline.
El formateo HTML sigue un pequeno conjunto de reglas en las que la mayoría de las herramientas coinciden:
Los elementos bloque (div, section, header, main, footer, ul, ol, li, p, h1 a h6, table, form) ocupan su propia línea. Cada elemento hijo se sangra un nivel respecto a su padre.
Los elementos inline (a, span, strong, em, code, img) se mantienen en la misma línea que el contenido circundante cuando es posible. Un li que contiene una sola etiqueta a permanece en una línea. Un p con texto mixto y elementos inline se mantiene en una línea.
Los elementos void (br, hr, img, input, meta, link) no reciben etiqueta de cierre. El formateador preserva la convención que ya existe en el archivo a menos que lo configures para normalizarla.
Los atributos permanecen en la misma línea que la etiqueta de apertura a menos que el limite de longitud de línea active el ajuste de atributos. Cuándo los atributos se envuelven, cada atributo va en su propia línea debajo del nombre de la etiqueta y el carácter > de cierre va en su propia línea.
El HTML no formateado presenta problemas en varias situaciones específicas:
Un diff de pull request que cambia un elemento anidado dentro de HTML no formateado mueve toda la línea, no solo el cambio real. El revisor no puede distinguir entre un cambio de contenido y una ruptura de línea. Con HTML formateado, solo la línea relevante cambia.
Cuándo un layout se rompe, el primer paso es verificar que la estructura HTML sea correcta. El HTML formateado revela etiquetas de cierre faltantes, elementos mal colocados y profundidad de anidamiento inesperada. El HTML sin formato oculta estos problemas detras de un muro de texto.
Dos desarrolladores que formatean HTML de manera diferente producen diffs conflictivos. Un formateador compartido (Prettier, un hook de pre-commit) elimina este problema. El equipo acuerda una configuración y el formateador la aplica.
Prettier es el estándar para la mayoría de los proyectos modernos. Se integra con editores, hooks de pre-commit y pipelines CI. Su salida no es configurable por diseño, lo cual es intencional: elimina la discusión sobre el estilo del código.
HTMLHint y tidy son alternativas más configuradas. Te permiten establecer el tamaño de sangria, el ajuste de atributos y el manejo de elementos void. La desventaja es que alguien tiene que mantener esa configuración.
Para ediciones únicas, el formateador en esta página aplica reglas estándar sin configuración. Pegalo, formatealo y listo.
Nothing you paste leaves this tab. Every tool runs entirely in your browser — no upload, no server, no account.