Pular para o conteúdo

Codificador de entidades HTML

HTML Entity Encoder

Escapa e desescapa entidades HTML, com saída nomeada, decimal e hexadecimal.

Converte caracteres em entidades HTML e de volta — `&`, `&`, `&` — com a escolha de quanto escapar. A decodificação também aplica o remapeamento para Windows-1252 que a especificação de parsing do HTML exige, e é por isso que `’` volta como um apóstrofo tipográfico em vez de um caractere de controle.

🔒 Roda inteiramente no seu navegadorhtmlentityescape
Regras
Direção
Escapar

Só `&`, `<` e `>`. É tudo o que você precisa entre duas tags, e nada além.

Como

Texto

Codificado

As cinco que o XML define

As cinco entidades XML predefinidas.
CaractereNomeadaDecimalHex
&&amp;&#38;&#x26;
<&lt;&#60;&#x3C;
>&gt;&#62;&#x3E;
"&quot;&#34;&#x22;
'&apos;&#39;&#x27;

São as únicas referências nomeadas que o XML tem sem uma DTD. Todo o resto num documento XML precisa ser numérico.

Como usar

  1. Decida quanto escapar

    Conteúdo de texto escapa só `&`, `<` e `>`: tudo o que você precisa entre duas tags. Valor de atributo adiciona os dois caracteres de aspas. Tudo não ASCII é para um pipeline que não consegue transportar UTF-8, e faz cada acento ou cedilha passar a ocupar de seis a oito caracteres.

  2. Escolha a notação

    Nomeada (`&amp;`) é a que lê melhor; decimal e hexadecimal são numéricas e funcionam em XML, que só tem cinco referências nomeadas sem um DTD.

  3. Ou vá na outra direção

    Mude para Desescapar e cole texto cheio de entidades. Qualquer coisa que a tabela não reconheça é listada e deixada exatamente como foi escrita, em vez de descartada.

Perguntas frequentes

Por que uma das minhas entidades ficou como estava?

O HTML5 define 2231 referências nomeadas e a tabela daqui carrega um subconjunto selecionado: todos os caracteres Latin-1, a pontuação, o grego, as setas e os símbolos matemáticos comuns. Qualquer coisa fora disso é listada pelo nome em uma nota em vez de descartada em silêncio, que é a falha honesta.

Escapar entidades protege contra XSS?

É o escape certo para conteúdo de texto e para um valor de atributo entre aspas, e não é suficiente em nenhum outro lugar: dentro de um bloco `<script>`, em uma URL `javascript:`, em um atributo sem aspas ou em um contexto CSS, o escape de entidades não faz nada de útil. O escape tem de corresponder ao contexto em que cai.

Por que `&#146;` decodifica como um apóstrofo?

Porque a especificação de parsing do HTML diz que os pontos de código 0x80–0x9F em uma referência numérica devem ser remapeados para os caracteres Windows-1252 nessas posições. Decodificá-los literalmente daria caracteres de controle C1 invisíveis, que é o que um decodificador ingênuo produz a partir de texto colado do Word.

Posso usar `&nbsp;` em XML?

Não sem um DTD que o declare. XML tem exatamente cinco referências nomeadas predefinidas — `&amp;` `&lt;` `&gt;` `&quot;` `&apos;` — e a tabela no fim da página as lista. Todo o resto tem de ser numérico.

Pode receber de

Em seguida

Estas aceitam o que esta ferramenta produz, então o resultado pode ir direto.