onlinetools.dev

Codificar / decodificar entidades HTML

Escape texto para HTML ou converta entidades & de volta em caracteres

Roda localmente
loading…
Sobre esta ferramenta

Escape texto para inclusão segura em HTML — & vira &amp;amp;, < vira &amp;lt; — ou decodifique texto cheio de entidades de volta para caracteres legíveis, cobrindo entidades nomeadas (&amp;rarr;), referências numéricas decimais (&amp;#169;) e hexadecimais (&amp;#xA9;).

A codificação oferece dois níveis: os cinco caracteres essenciais que quebram a estrutura do HTML (&amp; &lt; &gt; " '), que é tudo que você precisa para correção, ou tudo que não for ASCII, útil quando alguma etapa da toolchain corrompe UTF-8 entre você e a página. Um modo somente numérico dispensa entidades nomeadas para máxima compatibilidade com parsers XML estritos, que só garantem as cinco predefinidas.

O decodificador é a metade do dia a dia: cole um trecho raspado ou uma resposta de API cheia de &amp;#x27; e receba texto limpo. Nomes de entidade desconhecidos passam intactos em vez de serem adivinhados.

Perguntas frequentes

Quais caracteres precisam ser escapados em HTML?
Em conteúdo de texto: & e <. Em valores de atributo: também o caractere de aspas que delimita o atributo (" ou '). Escapar > é convencional, mas não estritamente obrigatório. Todo o resto pode aparecer literalmente em um documento UTF-8.
Codificar entidades é uma defesa contra XSS?
Escapar os cinco caracteres estruturais é o núcleo da codificação de saída para contexto HTML, sim — mas apenas para contextos de texto e atributo HTML. URLs, strings JavaScript e CSS precisam de suas próprias codificações específicas de contexto; escapar entidades sozinho não torna injeção arbitrária segura nesses lugares.
Entidades nomeadas ou numéricas — quais devo emitir?
Referências numéricas (&amp;#xE9;) funcionam em qualquer parser HTML e XML. Entidades nomeadas são mais legíveis, mas o XML só predefine cinco, então &amp;eacute; quebra um pipeline XML/XHTML estrito. Na dúvida, numéricas.
Por que vejo &amp;amp;#39; (codificação dupla) nos meus dados?
Duas camadas codificaram uma vez cada: o &amp; da primeira codificação foi escapado por uma segunda passada. Decodifique duas vezes aqui para recuperar o texto, depois encontre e corrija a camada que não deveria estar codificando.
Ferramentas relacionadas