Codificador de Entidades HTML
Escape texto em entidades HTML para que os caracteres de marcação sobrevivam, no seu navegador.
Roda inteiramente no seu navegador. Nada é enviado, registrado ou armazenado.
Cinco caracteres não podem aparecer literalmente em HTML sem mudar o que a marcação significa: o e comercial, os dois sinais de menor e maior e os dois tipos de aspas. Escapá-los é o que transforma um pedaço de texto em um pedaço de texto que um navegador vai exibir em vez de obedecer.
Como funciona
O modo mínimo escapa apenas esses cinco caracteres. É a escolha certa quase sempre: se a sua página é UTF-8 e os seus arquivos são UTF-8, uma letra acentuada não precisa de escape nenhum, e escapá-la só torna o código-fonte mais difícil de ler sem ganho.
As entidades nomeadas substituem todo caractere para o qual o HTML 4.01 tem um nome — 252 deles, é como é, © como ©. Use isso quando a saída tiver de passar por algo que estraga tudo acima do ASCII, como um sistema de e-mail antigo ou uma coluna de banco de dados com a colação errada.
As referências numéricas dão a mesma garantia por ponto de código em vez de por nome, então funcionam para todo caractere, e não só para os 252 que têm nome. Elas são escritas em hexadecimal com o ponto e vírgula final, que todo parser aceita.
Exemplos
| Caso | Entrada | Resultado |
|---|---|---|
| Uma tag que precisa ser mostrada, e não executada | <script>alert(1)</script> | <script>alert(1)</script> |
| Um e comercial dentro de um valor | Tom & Jerry | Tom & Jerry |
| Uma letra acentuada, nomeada | café | café |
Perguntas frequentes
Escapar aqui basta para tornar segura a entrada de um usuário?
Para texto entre tags, e para um valor de atributo entre aspas, sim: as aspas também são escapadas. Fora disso, não: um valor que vai para uma URL, um bloco de estilo ou um bloco de script precisa do escape próprio, e as entidades HTML são a ferramenta errada para os três. Escape no ponto de saída, no contexto daquela saída, no seu código — e não colando em uma página web.
Por que o apóstrofo é escapado como ' e não como '?
' não existe no HTML 4.01. Ele foi acrescentado no XHTML e depois no HTML5, e navegadores antigos o mostram literalmente. A forma numérica sempre funcionou em todo lugar.
Quais entidades nomeadas são suportadas?
As 252 do HTML 4.01. O HTML5 define cerca de duas mil a mais, em boa parte matemáticas, e elas não estão incluídas aqui. O que não tem nome nesse conjunto fica como está no modo nomeado, ou é escapado por ponto de código no modo numérico.
Preciso escapar os acentos em um site moderno?
Não. Se a página declara UTF-8 e o arquivo está salvo em UTF-8, é é simplesmente é. As entidades nomeadas servem para fazer o texto atravessar sistemas que não lidam bem com UTF-8.
Bom saber
- Tudo acontece no seu navegador. O que você cola não é enviado, não é registrado e não é armazenado.
Fontes
Todas as ferramentas de Código