Codificador / Decodificador HTML

Codifique ou decodifique entidades HTML com segurança.

Digite HTML para converter

Os Cinco Carateres Que Partem o HTML

O HTML dá significado especial a um punhado de carateres, por isso colocá-los numa página tal como estão ou parte a renderização ou abre uma falha de segurança. Codificar substitui-os por entidades nomeadas que o navegador exibe literalmente:

CaraterEntidadePapel no HTML
&&Inicia todas as entidades — tem de ser sempre codificado primeiro
<&lt;Abre uma etiqueta
>&gt;Fecha uma etiqueta
"&quot;Delimita valores de atributos
'&#39;Delimita valores de atributos (com aspas simples)

Exemplo: <div class="hello">World & "Friends"</div> codifica para &lt;div class=&quot;hello&quot;&gt;World &amp; &quot;Friends&quot;&lt;/div&gt; — cole isso numa página e o navegador mostra a marcação como texto em vez de renderizar um div.

Modos Codificar e Descodificar

Alterne os modos com o botão no topo; a conversão acontece ao vivo à medida que escreve. Codificar substitui os cinco carateres especiais acima. Descodificar é mais geral: resolve qualquer entidade que o navegador conheça — nomeada (&nbsp;, &copy;, &eacute;), decimal (&#233;) e hexadecimal (&#xE9;) — por isso limpa texto cheio de entidades extraído de páginas web ou exportações de CMS de uma só vez.

Porque Isto Importa: Mostrar Código e Prevenir XSS

  • Mostrar código numa página: para exibir um trecho de HTML num artigo de blogue ou na documentação, tem de ser codificado em entidades, caso contrário o navegador renderiza-o em vez de o mostrar.
  • Prevenção de XSS: entrada de utilizador ecoada em HTML sem codificação deixa um atacante injetar etiquetas <script>. Codificar na saída transforma o ataque em texto visível inofensivo. É a regra de escape de saída mais importante do desenvolvimento web.
  • Corrigir texto duplamente codificado: se vir &amp;lt; na saída renderizada, o texto foi codificado duas vezes. Passe-o por descodificar até estabilizar.

Codificação HTML vs. Codificação de URL

Resolvem problemas diferentes e não são intermutáveis: as entidades HTML tornam o texto seguro dentro de marcação; a codificação percentual torna o texto seguro dentro de URLs. Um valor que vai para a string de consulta do href de uma ligação precisa do codificador de URL; o texto visível da ligação precisa desta ferramenta. Tudo aqui corre inteiramente no seu navegador — nada do que cola é enviado para um servidor. Também útil em conjunto: o conversor de Markdown para HTML para gerar marcação e a ferramenta Base64 para data URIs.

Perguntas frequentes

Porque preciso de codificar HTML?
Carateres como <, > e & têm significado estrutural em HTML. Codificá-los como entidades (&lt;, &gt;, &amp;) faz o navegador exibi-los como texto em vez de os interpretar — essencial para mostrar código e para prevenir ataques XSS.
Que carateres são codificados?
Os cinco carateres críticos do HTML: & → &amp;amp;, < → &amp;lt;, > → &amp;gt;, " → &amp;quot;, e ' → &amp;#39;. Esse conjunto é exatamente o que o escape de saída seguro exige.
Consegue descodificar entidades como &nbsp; e &#233;?
Sim. O modo Descodificar resolve todas as entidades que o navegador compreende — nomeadas, decimais e hexadecimais — não apenas as cinco que o modo codificar produz.
É o mesmo que a codificação de URL?
Não. A codificação HTML torna o texto seguro dentro de marcação; a codificação de URL (percentual) torna o texto seguro dentro de URLs. Um valor de string de consulta precisa de codificação %, o texto visível da página precisa de entidades — use cada um no seu contexto.
A codificação previne todos os XSS?
Cobre o caso mais comum: texto de utilizador ecoado no corpo HTML ou em atributos entre aspas. Outros contextos (strings JavaScript, CSS, URLs) precisam das suas próprias regras de escape — codificar é necessário mas específico do contexto.