Codificador e Decodificador de Entidades HTML

Escape textos para que fiquem seguros dentro do HTML, ou transforme entidades como & e € de volta em caracteres legíveis.

Roda no seu navegadorSem cadastroNada é enviado

Codificado

Como usar: Codificador / Decodificador de Entidades HTML

  1. Escolha Codificar para escapar o texto ou Decodificar para transformar entidades de volta em caracteres.
  2. Ao codificar, escolha quais caracteres escapar: apenas os especiais do HTML, também todos os caracteres não ASCII, ou tudo exceto letras e dígitos.
  3. Escolha entidades nomeadas (é), decimais (é) ou hex (é).
  4. Copie o resultado. Ao decodificar, as entidades desconhecidas são listadas para você identificar erros de digitação.

Por que escapar HTML?

Cinco caracteres têm significado especial no HTML: & inicia uma entidade, < e > delimitam tags, e " e ' fecham valores de atributos. Se um texto fornecido pelo usuário contendo esses caracteres for inserido na página sem escape, ele pode quebrar o layout ou, pior, injetar scripts (cross-site scripting, XSS). O escape os transforma em &amp;, &lt;, &gt;, &quot; e &#x27;, que o navegador exibe como texto.

Entidades nomeadas, decimais e hex

Qualquer caractere Unicode pode ser escrito como referência numérica: decimal &#8364; ou hex &#x20AC; para €. Muitos caracteres comuns também têm um nome legível, como &euro;, &copy; ou &nbsp;. Referências numéricas funcionam em qualquer lugar, inclusive em XML, que define apenas cinco entidades nomeadas. Entidades nomeadas são mais fáceis de ler no código-fonte.

Preciso codificar caracteres não ASCII?

Não se a sua página for servida em UTF-8, como quase todo site moderno (<meta charset="utf-8">). Caracteres como é, ü ou 日本 podem ser escritos diretamente. Codificá-los é útil para sistemas legados, templates de e-mail ou quando algum pipeline corrompe texto não ASCII.

O escape depende do contexto

O escape de entidades HTML protege texto colocado no conteúdo de elementos e em atributos entre aspas. Ele não basta para valores dentro de blocos <script>, handlers de evento inline, CSS ou URLs, que precisam cada um da sua própria codificação. Prefira o auto-escape do seu framework (React, Vue, Jinja, Blade) a montar strings manualmente.

Perguntas frequentes

Quais caracteres precisam ser escapados no HTML?
No conteúdo de texto, & e < são essenciais. Em valores de atributos, escape também o caractere de aspas que você usou. Escapar os cinco (& < > " ') é o padrão seguro.
O que é &amp;nbsp;?
Um espaço não separável (U+00A0). Parece um espaço, mas impede a quebra de linha e não é agrupado com espaços vizinhos.
Por que &amp;copy2024 é decodificado como ©2024?
Por compatibilidade com versões antigas, os navegadores decodificam algumas entidades legadas, como &copy, &amp e &lt, mesmo sem o ponto e vírgula final. Este decodificador segue a mesma regra. Sempre escreva o ponto e vírgula no seu próprio HTML.
O apóstrofo é &amp;apos; ou &amp;#39;?
&apos; é válido em HTML5 e XML, mas não em HTML 4, então o numérico &#39; ou &#x27; é a opção mais compatível e é o que este codificador gera.

Ferramentas relacionadas