Codificar e descodificar entidades HTML

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

Entidades HTML

Ao codificar:

Entidades HTML mais usadas

CarácterCom 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 carácter com um código que começa por & e termina em ;. Pode ser com nome, como &copy; para ©, ou numérica, com o número Unicode do carácter 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 etiquetas), & (inicia uma entidade) e as aspas dentro dos atributos. Se isso não for feito, o navegador interpreta-os como código: a página desconfigura-se e, se o texto vier de um utilizador, abre-se a porta a ataques XSS.

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