Codificar e decodificar entidades HTML

Faça o escape dos caracteres especiais de um texto para inseri-lo em HTML sem quebrar a página, ou converta as entidades HTML de volta para texto normal.

Entidades HTML

Ao codificar:

Entidades HTML mais usadas

CaractereCom nomeNumérica
& & &
< &lt; &#60;
> &gt; &#62;
" &quot; &#34;
' &apos; &#39;
(nbsp) &nbsp; &#160;
© &copy; &#169;
® &reg; &#174;
™ &trade; &#8482;
€ &euro; &#8364;
£ &pound; &#163;
° &deg; &#176;
± &plusmn; &#177;
× &times; &#215;
÷ &divide; &#247;
… &hellip; &#8230;
– &ndash; &#8211;
— &mdash; &#8212;
« &laquo; &#171;
» &raquo; &#187;
“ &ldquo; &#8220;
” &rdquo; &#8221;
• &bull; &#8226;
→ &rarr; &#8594;
á &aacute; &#225;
é &eacute; &#233;
ñ &ntilde; &#241;
Ñ &Ntilde; &#209;
ü &uuml; &#252;
ç &ccedil; &#231;
¿ &iquest; &#191;
¡ &iexcl; &#161;

O que são as entidades HTML?

Uma entidade HTML é uma forma de escrever um caractere com um código que começa por & e termina em ;. Ela pode ser com nome, como &copy; para ©, ou numérica, com o número Unicode do caractere em decimal (&#169;) ou em hexadecimal (&#xA9;).

Quando é preciso usá-las?

É sempre preciso fazer o escape dos caracteres que têm um significado especial no HTML: < e > (abrem e fecham tags), & (inicia uma entidade) e as aspas dentro dos atributos. Se isso não for feito, o navegador os interpreta como código: a página se desconfigura e, se o texto vier de um usuário, abre-se a porta para ataques XSS.

As letras com acento, o ç ou os emojis não precisam de entidades se a página usar UTF-8, o que é o normal hoje em dia. Elas só são úteis quando o arquivo precisa ser ASCII puro, por exemplo em alguns e-mails ou sistemas antigos.