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 mais usadas
| Caractere | Com nome | Numérica |
|---|---|---|
| & | & | & |
| < | < | < |
| > | > | > |
| " | " | " |
| ' | ' | ' |
| (nbsp) | |   |
| © | © | © |
| ® | ® | ® |
| ™ | ™ | ™ |
| € | € | € |
| £ | £ | £ |
| ° | ° | ° |
| ± | ± | ± |
| × | × | × |
| ÷ | ÷ | ÷ |
| … | … | … |
| – | – | – |
| — | — | — |
| « | « | « |
| » | » | » |
| “ | “ | “ |
| ” | ” | ” |
| • | • | • |
| → | → | → |
| á | á | á |
| é | é | é |
| ñ | ñ | ñ |
| Ñ | Ñ | Ñ |
| ü | ü | ü |
| ç | ç | ç |
| ¿ | ¿ | ¿ |
| ¡ | ¡ | ¡ |
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 © para ©, ou numérica, com o número Unicode do caractere em decimal (©) ou em hexadecimal (©).
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.