Como formatar HTML
- Cole o HTML na caixa: uma página inteira, um template, um e-mail marketing ou um trecho copiado das ferramentas de desenvolvedor do navegador (F12). Ele é formatado enquanto você cola.
- Escolha Formatar para identar com 2 espaços, 4 espaços ou tab, ou Minificar para tirar os espaços que o navegador não mostra. Marque Identar também o código dentro de <script> e <style> para alinhar esses blocos com a tag deles.
- Toque em Copiar ao lado do resultado, ou em Baixar para salvar um arquivo .html.
- Leia os avisos, se houver: tags não fechadas ou sobrando, com linha e coluna.
Por que formatar HTML pode mudar a página — e como este formatador evita isso
O navegador desenha dois tipos de caixa. Elementos de bloco — div, p, títulos, listas e itens de lista, tabelas com linhas e células, section, header e parecidos — começam numa linha nova, e os espaços ao lado deles nunca aparecem. Já o conteúdo em linha — texto, a, b, em, span, img, button, input — corre como as palavras de uma frase, e ali qualquer sequência de espaços, tabs e quebras de linha vira um espaço. Por isso <b>Pão</b><i>deQueijo</i> aparece grudado, e um formatador que põe as duas tags em linhas separadas cria um espaço que não existia. Muitos formatadores online fazem exatamente isso.
Este segue as mesmas regras do navegador. Ele só acrescenta quebras de linha ao lado de elementos de bloco. Entre dois pedaços em linha, nunca põe nem tira espaço; onde já havia um espaço com quebra de linha, pode reidentar a linha. Comentários e elementos invisíveis (script, style, meta, link, template) ganham linha própria, a não ser que haja texto encostado dos dois lados, como em a<!-- -->b, que precisa continuar “ab”.
| Muda | Nunca muda |
|---|---|
| Quebras de linha e recuo ao lado de elementos de bloco | Nomes de tags, atributos, valores, aspas e ordem |
| Recuo de quebras de linha que já existiam no texto | As palavras do texto e os espaços entre elas |
| Minificar: tira os espaços ao lado de blocos e reduz as outras sequências a um espaço | O conteúdo de <pre>, <textarea> e <title>; <script> e <style>, a não ser que você marque a opção |
| Quebras de linha do Windows (CR LF) saem como LF | Comentários, entidades como e tags de fechamento que você omitiu |
O HTML permite omitir alguns fechamentos — </li>, </p>, </td>, </tr>, </option> — e o formatador sabe onde esses elementos terminam, como o navegador, mas não acrescenta as tags que faltam. O espaço não separável ( ) não conta como espaço para o HTML, então nunca é tocado.
Exemplo: a página de uma padaria
O exemplo da caixa é uma página de 512 bytes em uma linha só. Formatada com 2 espaços:
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="utf-8">
<title>Horário de funcionamento</title>
<style>p{margin:0}</style>
</head>
<body>
<nav class="topo"><a href="/">Início</a> | <a href="/cardapio">Cardápio</a></nav>
<main>
<h1>Horário de <em>funcionamento</em></h1>
<p>Abrimos <b>todos os dias</b>, menos segunda.
<ul>
<li>Ter–Sex: 7h–19h
<li>Sáb–Dom: 7h–13h
</ul>
<pre> Encomendas pelo WhatsApp
(11) 90000-0000</pre>
<!-- mapa aqui -->
</main>
<script>document.title += " ✓";</script>
</body>
</html>
Os links do menu continuam na mesma linha com o separador “ | ”, o parágrafo mantém o negrito no meio da frase, e os itens da lista continuam sem o </li> — o <ul> também encerra o parágrafo, como manda o padrão HTML. O bloco <pre> mantém o próprio espaçamento. Minificada, a página tem 512 bytes, porque já era compacta.
Avisos
O navegador nunca recusa um HTML: ele conserta, e o conserto muitas vezes não é o que você queria. O formatador lista o que teve de consertar:
<div class="caixa"> <p>Promoção <div>Só hoje</div> </p> <span>Aberto </div>
| Linha | Coluna | Aviso |
|---|---|---|
| 2 | 32 | </p> sobrando: um bloco como <div> ou <ul> dentro de um <p> fecha o parágrafo, então o navegador acrescenta um <p></p> vazio aqui |
| 3 | 3 | <span> não foi fechado antes de </div> |
- Não fechado: um elemento cujo fechamento é obrigatório ainda está aberto quando o pai termina. O navegador fecha ali.
- Fechamento sobrando: nenhum elemento com esse nome está aberto, então a tag é ignorada. Um
<div>ou uma lista dentro de um<p>fecha o parágrafo, e é por isso que o</p>acima sobra. - A barra é ignorada:
<div/>não fecha uma div no HTML — só elementos vazios como<br>e<img>dispensam fechamento, com ou sem barra. Dentro de<svg>e<math>a barra fecha, sim. - Atributo repetido: o navegador fica com o primeiro e ignora o segundo.
Limites e dicas
- O CSS pode mudar as regras. O formatador considera o display padrão de cada elemento. Se o seu CSS deixa itens de lista em
inline-block(comum em menus), uma quebra de linha entre</li><li>cria um pequeno vão; e um elemento comwhite-space: preno CSS mostra o recuo novo. Deixe esse trecho minificado ou confira a página depois. - O código de script e style não é reformatado. A opção só desloca blocos inteiros. Template strings do JavaScript com várias linhas ganhariam o recuo extra, então deixe a opção desligada nesses casos.
- Templates de servidor (PHP, Blade, JSP, Thymeleaf com expressões, Handlebars) e JSX não são HTML; misturados ao HTML, podem não sair certos.
- Páginas grandes: uma página de 1 MB é formatada em cerca de um segundo.
- Para XHTML, SVG e feeds, o formatador de XML confere as regras mais rígidas do XML. Para ver o que mudou entre duas versões, formate as duas e use o comparador de textos.
O seu HTML fica no seu aparelho
Tudo roda no seu navegador. Nada do que você cola é enviado nem registrado, e também não é salvo: ao recarregar a página, a caixa fica vazia.
Perguntas frequentes
Formatar muda a aparência da minha página?
Não, com o display padrão dos elementos: o formatador só põe ou tira espaços onde o navegador não os desenha, e nunca mexe em <pre>, <textarea>, scripts ou estilos. A exceção é CSS que muda o display ou o white-space de um elemento, explicada acima.
Por que ele não pôs cada tag numa linha?
Tags em linha como <a>, <b> e <span> fazem parte de uma linha de texto. Uma quebra de linha entre duas delas, onde não havia espaço, cria um espaço visível; por isso elas ficam juntas, a não ser que o seu HTML já tivesse espaço ali.
Ele corrige HTML quebrado?
Ele aponta os problemas — tags não fechadas ou sobrando, atributos repetidos, barra num elemento que não é vazio —, mas mantém as tags exatamente como estão, para nada ser acrescentado ou tirado sem você ver. Corrija os avisos no código e formate de novo.
O HTML minificado é a mesma página?
Sim. Minificar só tira espaços ao lado de elementos de bloco e reduz as outras sequências a um espaço, que o navegador desenha igual. Comentários e o código de scripts e estilos são mantidos; um servidor com compressão gzip ou Brotli economiza mais do que a minificação.
O meu HTML é enviado?
Não. A página formata no seu navegador, então serve para templates privados e páginas atrás de login, e funciona até offline depois de carregada.
Última atualização: 16 de outubro de 2026