DevToolPal
PT

Codificador e decodificador de entidades HTML

Escape texto em entidades HTML como < e é, ou decodifique entidades de volta para texto simples.

Roda localmente, nada é enviado

Opções

Modo

Entrada

0 caracteres · 0 B

Saída

0 caracteres · 0 B

O que faz

Entidades HTML são códigos que representam caracteres, como &lt; para < e &eacute; para é. Esta ferramenta escapa texto em entidades para que ele possa ser exibido com segurança em uma página web, e decodifica entidades de volta para texto simples, por exemplo quando você copia marcação de um CMS ou de um template de e-mail.

A codificação usa a lista completa do HTML5, com mais de 2.000 referências nomeadas, e a decodificação entende referências nomeadas, decimais (&#169;) e hexadecimais (&#xA9;) exatamente como um navegador.

Como usar

  1. Cole texto ou HTML no campo Entrada, envie um arquivo ou clique em Exemplo.
  2. Escolha Codificar ou Decodificar.
  3. Ao codificar, escolha o quanto codificar:
    • Só & < > ” ’: o mínimo necessário para colocar texto em HTML ou em um atributo.
    • Mais não ASCII, nomeadas: também transforma caracteres como é, © e — em entidades nomeadas, e qualquer coisa sem nome em uma referência numérica.
    • Mais não ASCII, numéricas: igual, mas sempre numéricas (&#xe9;), o que também é XML válido.
    • Tudo que tem nome: codifica até pontuação como . e /, útil quando algum sistema remove esses caracteres.
  4. Copie ou baixe o resultado. Usar como entrada permite decodificá-lo de novo para conferir a ida e volta.

Exemplo

<p>Café & "crème brûlée"</p>

codificado só com os caracteres especiais vira

&lt;p&gt;Café &amp; &quot;crème brûlée&quot;&lt;/p&gt;

e com entidades nomeadas para não ASCII vira

&lt;p&gt;Caf&eacute; &amp; &quot;cr&egrave;me br&ucirc;l&eacute;e&quot;&lt;/p&gt;

Usos comuns

Mostrar um trecho de código em um blog sem que o navegador o renderize, colocar texto de usuário em um e-mail HTML, corrigir texto escapado duas vezes como &amp;amp; (decodifique uma vez) ou deixar um arquivo seguro para um sistema que só aceita ASCII.

Perguntas frequentes

› Quais caracteres precisam ser escapados em HTML?

No texto, escape & e <. Dentro de valores de atributos, escape também o tipo de aspa que envolve o valor. Escapar & < > " e ' em todo lugar, que é o padrão aqui, é sempre seguro.

› Devo usar entidades nomeadas ou numéricas?

As duas funcionam em todo navegador moderno. Entidades nomeadas como &eacute; são mais fáceis de ler; referências numéricas como &#xe9; também funcionam em XML e em parsers antigos que só conhecem alguns nomes. Com uma página em UTF-8, normalmente você nem precisa codificar caracteres não ASCII.

› A decodificação trata entidades sem ponto e vírgula?

Sim. Ela segue a especificação do HTML, então formas legadas como &copy sem ponto e vírgula são decodificadas do mesmo jeito que um navegador faria. Nomes desconhecidos como &foo; ficam inalterados.

› Escapar é suficiente para evitar XSS?

Escapar é a defesa certa para texto colocado dentro de elementos HTML e de atributos entre aspas. Isso não torna seguro um conteúdo não confiável dentro de blocos script, blocos style, atributos de eventos ou URLs, que precisam de codificação específica para cada contexto.