HTML Encode/Decode Online

Codifique ou decodifique entidades HTML online. Converte <, >, &, ", ' para &lt;&gt;&amp;&quot;&#x27; e vice-versa.

HTML Encode / Decode online

Cole o texto para codificar em entidades HTML, ou cole HTML com entidades para decodificar de volta ao texto original.

O que são entidades HTML?

Entidades HTML são sequências de caracteres que representam símbolos especiais no HTML. São necessárias porque alguns caracteres têm significado especial na linguagem HTML e não podem ser usados diretamente no conteúdo.

Os cinco caracteres mais importantes são:

CaractereEntidade HTMLPor que substituir?
&&amp;Inicia qualquer entidade HTML
<&lt;Abre uma tag HTML
>&gt;Fecha uma tag HTML
"&quot;Delimita atributos HTML
'&#x27;Delimita atributos HTML (aspas simples)

Por que codificar HTML?

Segurança (XSS)

O principal motivo é prevenir ataques XSS (Cross-Site Scripting). Quando você exibe dados enviados por usuários diretamente em HTML sem codificar, um atacante pode injetar código JavaScript malicioso:

<!-- Entrada maliciosa do usuário -->
<script>document.cookie = 'roubado'</script>

<!-- Após htmlEncode, vira texto inofensivo -->
&lt;script&gt;document.cookie = 'roubado'&lt;/script&gt;

Exibição correta de conteúdo

Além da segurança, a codificação garante que o conteúdo seja exibido corretamente. Se você quiser mostrar o texto <div> em uma página HTML, precisa escrever &lt;div&gt; — caso contrário, o navegador interpreta como uma tag.

htmlspecialchars() no PHP

Esta ferramenta é equivalente ao htmlspecialchars() do PHP com a flag ENT_QUOTES:

echo htmlspecialchars($entrada, ENT_QUOTES, 'UTF-8');

Esse é o padrão recomendado para exibir dados de usuários em templates PHP — frameworks como Laravel usam isso automaticamente nas diretivas {{ }} do Blade.

Encode vs Decode: quando usar cada um?

HTML Encode — use quando:

  • Exibir dados de usuários em HTML
  • Mostrar código-fonte em uma página web
  • Gerar HTML dinamicamente a partir de dados externos

HTML Decode — use quando:

  • Você recebeu texto com entidades HTML e precisa do texto original
  • Processar conteúdo de feeds RSS/Atom (que frequentemente codificam entidades)
  • Depurar templates ou conteúdo exportado de CMSs

Perguntas frequentes

Qual a diferença entre HTML Encode e URL Encode?

São codificações diferentes para contextos diferentes. HTML Encode converte caracteres especiais em entidades HTML (<&lt;) para uso seguro dentro de HTML. URL Encode (percent-encoding) converte caracteres em %XX para uso seguro em URLs (<%3C). Nunca use um no lugar do outro.

&amp; ou &#38;?

Ambos representam o caractere &. A forma nomeada (&amp;) é preferível por ser mais legível. A forma numérica (&#38; ou &#x26;) é equivalente e funciona em qualquer contexto XML/HTML.

É necessário codificar ' (aspas simples)?

Depende do contexto. Dentro de atributos delimitados por aspas simples, sim. Fora de atributos, não é estritamente necessário, mas é uma boa prática codificar para evitar problemas em todos os contextos.

Veja também