Codificador e Decodificador de Entidades HTML
Escape texto para HTML e transforme &entidades; de volta em caracteres. Tudo roda localmente — nada é enviado para servidor nenhum.
- Entrada
- Text · HTML
- Saída
- Escaped HTML · decoded text
Texto
66 caracteres
HTML
102 caracteres
<p class="note">Fish & chips — £4.50, café crème "très bon" 😀</p>
Escape texto para HTML ou transforme entidades de volta em texto
Este codificador de entidades HTML escapa os caracteres que de outra forma seriam lidos como marcação, e o decodificador transforma entidades como &, é e € de volta nos caracteres que representam. Escolha referências nomeadas, decimais ou hexadecimais, escape só o necessário ou todo caractere não ASCII, e consulte as entidades comuns na tabela de referência. Tudo roda no seu navegador; nada do que você cola é enviado.
Como codificar ou decodificar entidades HTML
- Escolha Codificar para escapar texto para HTML, ou Decodificar para transformar entidades de volta em caracteres.
- Ao codificar, escolha o que escapar: só os caracteres especiais (
& < > " ') ou também todo caractere não ASCII. - Escolha a forma: nomeada (
é), decimal (é) ou hexadecimal (é). - Copie o resultado ou troque-o de volta para a entrada para conferir a ida e volta. Ative a Tabela de referência para copiar uma entidade avulsa.
Por que o HTML precisa de escape
No HTML, < inicia uma tag e & inicia uma referência de caractere, e dentro de um atributo a aspa encerra o valor. Para mostrar esses caracteres como texto, eles precisam ser escritos como entidades: <, &, " e '. Esquecer disso é como um "<b" perdido em um comentário deixa o resto da página em negrito — e, quando o texto vem de um usuário, é como acontece o cross-site scripting (XSS).
O escape é a última linha de defesa, não a única. Motores de template como React, Vue, Jinja e Blade escapam a saída para você; esta ferramenta é para os lugares aonde eles não chegam — HTML estático, templates de e-mail, documentação, campos de CMS e depuração do que um sistema realmente armazenou.
Referências nomeadas, decimais e hexadecimais
O apóstrofo é escrito como ' em vez de ': ' é válido em HTML5 e XML, mas nunca fez parte do HTML 4, e alguns parsers antigos não o conhecem.
- Nomeada (é)
- Legível, e a forma que a maioria reconhece. O HTML5 define cerca de 2.200 nomes, mas nem todo caractere tem um; caracteres sem nome são escritos em decimal.
- Decimal (é)
- O code point Unicode em base 10. Funciona para qualquer caractere, em qualquer parser HTML e XML.
- Hexadecimal (é)
- O mesmo code point em base 16, que corresponde a como as tabelas Unicode o escrevem (U+00E9).
Preciso escapar letras acentuadas e emojis?
Não em uma página servida como UTF-8, que é quase toda página hoje. Só os cinco caracteres especiais precisam de escape; "café", "日本語" e emojis podem ser escritos como estão. É o que a opção só caracteres especiais faz, e ela mantém o HTML legível.
Escapar todo caractere não ASCII ainda é útil quando a saída passa por algo que não é seguro para UTF-8: um sistema legado em ISO-8859-1 ou Windows-1252, alguns fluxos de e-mail ou um arquivo-fonte cuja codificação você não controla. O resultado é ASCII puro e sobrevive a qualquer um deles.
Como funciona a decodificação
O decodificador lê referências nomeadas, decimais (©) e hexadecimais (©), seguindo as regras dos navegadores: referências numéricas no intervalo 128–159 são lidas como Windows-1252, como o padrão HTML especifica, então – vira um meia-risca; code points inválidos viram o caractere de substituição; e os poucos nomes legados que os navegadores aceitam sem ponto e vírgula, como ©, também são decodificados. Nomes desconhecidos, normalmente erros de digitação como &nbps;, ficam no lugar e são listados para você corrigir.
Se o texto veio de uma URL e não de HTML, use o decodificador de URL: %3C é percent-encoding, não uma entidade HTML.
Perguntas frequentes
- O que são entidades HTML?
- Entidades HTML são códigos que representam caracteres, escritos entre & e ;. Elas permitem mostrar caracteres que o HTML trataria como marcação, como < e &, ou caracteres difíceis de digitar, como © ou um espaço não separável.
- Quais caracteres precisam de escape em HTML?
- Cinco: & como &, < como <, > como >, a aspa dupla como " e a aspa simples como '. As aspas só importam dentro de valores de atributo, mas escapá-las em todo lugar não faz mal.
- Como decodificar entidades HTML?
- Escolha Decodificar e cole o texto. Entidades nomeadas, decimais e hexadecimais são convertidas em caracteres enquanto você digita, e nomes de entidade desconhecidos são listados.
- Qual a diferença entre e um espaço normal?
- é um espaço não separável: parece um espaço, mas impede a quebra de linha naquele ponto, e os navegadores não juntam vários deles em um só. É útil entre um número e sua unidade, como 10 kg.
- Devo usar ' ou ' para o apóstrofo?
- ' funciona em todo lugar. ' é válido em HTML5 e XML, mas não em HTML 4, então ' é a escolha mais segura para e-mail e sistemas antigos.
- Escapar HTML previne XSS?
- Escapar o texto antes de inseri-lo no HTML é a defesa central contra cross-site scripting, mas precisa combinar com o contexto: texto HTML, atributos, URLs e JavaScript exigem cada um a própria codificação. Prefira um sistema de templates que escape automaticamente.
- Meu texto é enviado a um servidor?
- Não. A codificação e a decodificação acontecem inteiramente no seu navegador.