Codificador / decodificador de entidades HTML

Escape caracteres especiais de HTML como entidades nomeadas, decimais ou hex e decodifique entidades de volta para texto. Lida bem com emoji. No navegador.

Os dados inseridos e arquivos ficam no navegador

Digite HTML ou texto para escapar, ou cole entidades como < para decodificá-las.

O texto escapado ou decodificado aparece aqui.

Nesta página

Escape e comercial, sinais de menor e maior, aspas e caracteres não ASCII como entidades HTML, ou transforme entidades de volta em texto simples. A ferramenta é JavaScript puro rodando no navegador, então o markup que você cola não é enviado a lugar nenhum.

Funcionalidade detalhada

Três modos de codificação cobrem os casos comuns. O modo de caracteres especiais, o padrão, escapa os cinco caracteres que importam no markup e nos atributos HTML: &, <, >, " e '. O modo não ASCII deixa o markup intacto e converte letras acentuadas, símbolos e emoji, útil quando um template ou e-mail precisa ficar em ASCII puro. O modo de todos os caracteres faz as duas coisas.

As entidades podem ser escritas como referências nomeadas (&amp;, &copy;), decimais (&#169;) ou hexadecimais (&#xA9;). Só uns 30 símbolos comuns têm nome nesta ferramenta, como &copy;, &mdash;, &euro; e &nbsp;; os demais caracteres usam referência hexadecimal mesmo no formato nomeado. Emoji e outros caracteres fora do plano multilíngue básico viram uma única referência, como &#x1F600;.

A decodificação entende as mesmas entidades nomeadas e as referências decimais e hexadecimais (&#169;, &#xA9;, &#XA9;), em uma única passada, então &amp;lt; vira corretamente &lt; e não <. Nomes desconhecidos como &hearts; e referências sem o ponto e vírgula final ficam como estão.

Exemplos práticos

Escapar markup: <a href="x">Tom & Jerry</a> vira &lt;a href=&quot;x&quot;&gt;Tom &amp; Jerry&lt;/a&gt; com as configurações padrão.

Só não ASCII: © 2026 — café <b> vira &copy; 2026 &mdash; caf&#xE9; <b>: a tag fica como está, e é, que não tem nome na lista, é escrito em hex.

Emoji: no modo de todos os caracteres, 😀 © vira &#128512; &#169; no formato decimal e &#x1F600; &#xA9; no hexadecimal.

Decodificação: &lt;p&gt; &#169; &#x1F600; &euro; decodifica para <p> © 😀 €, enquanto &amp;lt; vira &lt;.

Como usar esta ferramenta

  1. Cole o texto

    Digite ou cole texto simples ou HTML em Texto para codificar/decodificar.

  2. Escolha o modo e o formato

    Em Modo de codificação, escolha Apenas caracteres especiais (& < > " '), Apenas caracteres não-ASCII ou Todos os caracteres (especiais + não-ASCII). Em Formato de entidades, escolha Nomeado (&amp;), Decimal (&#38;) ou Hexadecimal (&#x26;). Essas opções afetam só a codificação.

  3. Codifique ou decodifique

    Clique em Codificar para HTML para escapar o texto ou em Decodificar de HTML para transformar entidades em caracteres.

  4. Copie o resultado

    Copiar leva a saída para a área de transferência. Trocar a devolve para a entrada, por exemplo para decodificar uma segunda camada.

Dicas e melhores práticas

  • Para texto dentro de elementos HTML ou atributos entre aspas, basta escapar os cinco caracteres especiais; texto não ASCII não precisa de entidades se a página for servida em UTF-8.
  • Escapar não é uma defesa completa contra XSS: valores em href, dentro de <script> ou em CSS precisam de tratamento conforme o contexto, como validar a URL ou codificar em JSON.
  • O apóstrofo é codificado como &#x27; (ou &#39; no formato decimal), e não como &apos;, que o HTML 4 não definia.
  • A decodificação é feita em uma passada: texto escapado duas vezes, como &amp;amp;, vira primeiro &amp;; clique em Trocar e decodifique de novo.
  • Só as entidades nomeadas da lista embutida são decodificadas; referências numéricas funcionam para qualquer caractere Unicode.