Enviar um arquivo
  1. base64hub
  2. Web e tokens
  3. Entidades HTML

Codificador e decodificador de entidades HTML

Escape &, <, > e aspas para que o texto fique seguro dentro do HTML, ou desfaça o escape de &amp;, &eacute; e &#x2014; para voltar aos caracteres que eles representam.

Grátis sem cadastro, sem limites Local nada é enviado HTML5 toda entidade nomeada decodificada pelo parser do navegador Atualizado 27 de out. de 2026
Entrada 0Saída 0

Processado no seu navegador. Esta página não consegue enviar seus dados para lugar nenhum – como sabemos

Como escapar ou desfazer o escape de HTML

  1. Escolha Escapar ou Desfazer escape.
  2. Para escapar, escolha o que escapar em Escapar:
    • Só & < > " ‘ para HTML que você vai colar numa página ou num template.
    • Mais todos os não ASCII para páginas, e-mails ou sistemas que não lidam bem com UTF-8.
    • Todos os caracteres para codificar todo o texto, para testar parsers.
  3. Escolha o Formato: Nomeadas (é), Decimais (é) ou Hex (é). O nomeado usa a forma decimal para caracteres que não têm um nome comum. Desmarque Escapar aspas se o texto só vai para o conteúdo de elementos.
  4. Clique em Copiar saída. Inverter leva o resultado para o outro lado, para conferir a ida e volta.

Desfazer o escape usa o parser HTML do navegador, então todas as mais de 2.000 referências nomeadas do HTML5 são suportadas, junto com as referências decimais e hex. A entrada nunca é renderizada como HTML.

Entidades comuns

CaractereNomeadaDecimalHex
&&amp;&#38;&#x26;
<&lt;&#60;&#x3C;
>&gt;&#62;&#x3E;
"&quot;&#34;&#x22;
'&apos; (HTML5)&#39;&#x27;
espaço não separável&nbsp;&#160;&#xA0;
é&eacute;&#233;&#xE9;
—&mdash;&#8212;&#x2014;
€&euro;&#8364;&#x20AC;
©&copy;&#169;&#xA9;
😀nenhuma&#128512;&#x1F600;

Referências numéricas usam o code point Unicode. O emoji ocupa quatro bytes em UTF-8, mas só uma referência.

Armadilhas ao escapar e decodificar

  • Escape o & primeiro. Trocar < por &lt; e depois & por &amp; gera &amp;lt;. Qualquer escape escrito à mão precisa tratar o & antes dos outros.
  • Um & sem escape no texto pode virar símbolo. O HTML ainda reconhece algumas entidades legadas sem ponto e vírgula, então o texto ?id=1&copy=2&para=3 aparece como ?id=1©=2¶=3. Escreva &amp; para todo e comercial, inclusive em URLs.
  • Escape duplo aparece como &amp;lt;b&amp;gt; na página. Desfaça o escape uma vez e depois descubra qual camada escapa duas vezes.
  • &nbsp; não é espaço. Ele decodifica para U+00A0, que parece um espaço mas falha em comparações de strings e no trim() de algumas linguagens.
  • Entidades não são codificação de URL. Num link, &amp; separa parâmetros de query no código-fonte HTML, enquanto %26 é um e comercial literal dentro de um valor. O codificador de URL cuida do segundo caso.

Escapar e desfazer o escape no código

import html
html.escape('5 > 3 & "quotes"')    # '5 &gt; 3 &amp; &quot;quotes&quot;'
html.unescape("Caf&eacute; &#x2014; &copy;")   # 'Café — ©'
const escapeHtml = s => s.replace(/&/g, "&amp;").replace(/</g, "&lt;")
  .replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");

const unescapeHtml = s =>
  new DOMParser().parseFromString(s, "text/html").documentElement.textContent;

O html.escape do Python escapa aspas por padrão e escreve ' como &#x27;. No PHP, a escolha habitual é htmlspecialchars(); desde o PHP 8.1 ele escapa os dois tipos de aspas por padrão. O DOMParser não executa scripts no documento analisado, o que o torna uma forma segura de decodificar no navegador. Para mais sobre strings em JavaScript, veja a página de JavaScript.

Entidades, Base64 e data URIs

Entidades HTML e Base64 resolvem problemas diferentes. Entidades deixam caracteres seguros dentro do código-fonte HTML; o Base64 transforma bytes em texto para que um arquivo inteiro caiba num atributo. Para embutir um documento HTML completo num URI data: ou num campo JSON, codifique-o com o HTML para Base64 em vez de escapar cada caractere.

Perguntas frequentes

Quais caracteres precisam de escape no HTML?

No conteúdo de texto, & e <, e > por convenção. Dentro de valores de atributo, também a aspa que delimita o valor, " ou '. Todo o resto, inclusive letras acentuadas e emoji, pode ficar como está numa página UTF-8.

Qual a diferença entre &#39; e &apos;?

Os dois significam o apóstrofo. &apos; está definido no HTML5 e no XML, mas faltava no HTML 4, então &#39; é a forma que funciona em todo parser e cliente de e-mail. O escape aqui usa &#39;.

Por que aparece &amp;amp; na minha página?

O texto passou por escape duas vezes: & virou &amp;, e uma segunda passada transformou isso em &amp;amp;. Desfaça o escape uma vez aqui para obter o texto pretendido e remova a etapa extra, geralmente um template engine escapando um valor que já tinha sido escapado.

Escapar entidades HTML evita XSS?

Evita injeção em texto HTML e em valores de atributo entre aspas. Não deixa os dados seguros dentro de blocos <script>, URLs javascript:, CSS ou atributos sem aspas; esses contextos precisam da própria codificação. Prefira o escape automático do seu template engine.