O que faz
Entidades HTML são códigos que representam caracteres, como < para < e é 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 (©) e hexadecimais (©) exatamente como um navegador.
Como usar
- Cole texto ou HTML no campo Entrada, envie um arquivo ou clique em Exemplo.
- Escolha Codificar ou Decodificar.
- 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 (
é), o que também é XML válido. - Tudo que tem nome: codifica até pontuação como
.e/, útil quando algum sistema remove esses caracteres.
- 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
<p>Café & "crème brûlée"</p>
e com entidades nomeadas para não ASCII vira
<p>Café & "crème brûlée"</p>
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; (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 é são mais fáceis de ler; referências numéricas como é 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 © 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.