0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
Configuração
Codifica e decodifica entidades HTML. Esencial codifica apenas os 5 caracteres que quebram o HTML: & < > " '. Extendido codifica também todos os caracteres não-ASCII. Escolha entre entidades com nome (&amp;), decimais (&#38;) ou hexadecimais (&#x26;).
Operação
Alcance
Formato
0

Como funciona

As entidades HTML representam caracteres que têm significado especial na marcação (< > & " ') ou que não são ASCII, mediante sequências como &lt;, &amp; ou &#169;. Assim o navegador os mostra como texto em vez de interpretá-los como código.

Há três formatos equivalentes: com nome (&copy;), decimal (&#169;) e hexadecimal (&#xA9;). Os três produzem o mesmo caractere; o de nome é mais legível, mas só existe para um conjunto conhecido.

O alcance "essencial" escapa apenas os caracteres que quebram o HTML (& < > " '); o alcance "todos" escapa também qualquer caractere não ASCII.

Exemplos

<a href="#">&lt;a href=&quot;#&quot;&gt;Escapar evita que o navegador interprete as tags e as mostra como texto.
5 < 10 & 3 > 15 &lt; 10 &amp; 3 &gt; 1
© 2024 · €&copy; 2024 · &euro;Com alcance "todos" e formato com nome. Em decimal seriam &#169; e &#8364;; em hexadecimal, &#xA9; e &#x20AC;.

Casos de uso

  • Mostrar código HTML como texto em uma página (exemplos, documentação) sem que seja renderizado.
  • Escapar a entrada do usuário antes de inseri-la no HTML para prevenir XSS.
  • Inserir símbolos especiais (©, €, →, ½) de forma portável entre codificações.
  • Decodificar texto com entidades copiado do código-fonte de uma página.

Perguntas frequentes

Qual formato é melhor: com nome, decimal ou hexadecimal?

O de nome (&copy;) é o mais legível, mas só cobre caracteres com nome definido. O decimal (&#169;) e o hexadecimal (&#xA9;) servem para qualquer caractere Unicode, então são a opção segura para símbolos pouco comuns.

Codificar entidades previne ataques XSS?

É uma parte importante, mas o escape deve ser feito conforme o contexto (conteúdo HTML, atributo, JavaScript ou URL). Não confie em uma única camada: use também as proteções do framework.

Quais são os caracteres que sempre devem ser escapados?

& < e > no conteúdo, e além disso " e ' dentro dos valores de atributos. O alcance "essencial" cobre exatamente esse conjunto.

Meu texto é enviado a um servidor?

Não. A codificação e a decodificação ocorrem inteiramente no seu navegador.