100 % local — seus dados nunca saem do seu navegador

Entidades HTML para texto — leia um trecho extraído

Decodifique entidades HTML de volta em caracteres. As referências numéricas são todas cobertas e um nome desconhecido fica visível: você vê o que havia.

Instantâneo Privado Zero cookies

Entrada HTML Entities

Saída Text

O que esta ferramenta faz

Cada referência &…; vira o caractere que ela nomeia.

  • Numérica decimal — é dá é.
  • Numérica hexadecimal — é e é dão ambas é.
  • Nomeada — &,  , —, é e cerca de sessenta outros nomes comuns.

Um caractere fora do plano básico entra como uma referência e sai como um caractere: 😀 e 😀 dão ambos o emoji.

Um nome desconhecido fica visível

♥ sai como ♥.

O HTML5 define mais de dois mil nomes. Esta ferramenta carrega os que aparecem de verdade e deixa os demais intactos — porque as alternativas são piores. Apagar uma referência não reconhecida perde dados em silêncio. Adivinhá-la inventa um caractere que nunca esteve lá. Deixá-la visível diz exatamente o que não foi tratado, e a forma numérica sempre funciona.

A decodificação roda uma vez

&amp;lt; dá &lt;, não <.

É a resposta certa, não um limite. &amp;lt; é o que um codificador produz quando o texto de origem eram os quatro caracteres literais &lt;, então uma única passagem devolve exatamente esse texto. Rodar o decodificador de novo transformaria marcação escapada em marcação viva — a falha exata que o escape existe para impedir.

O ponto e vírgula é obrigatório

&amp x fica como está. Os navegadores de fato decodificam algumas referências sem terminador, por compatibilidade com documentos escritos nos anos noventa, mas quais depende do analisador e do contexto. Exigir o ponto e vírgula faz o resultado não depender de a quem você pergunta.

Referências que não nomeiam caractere nenhum

Três casos voltam como foram escritos em vez de decodificados:

  • &#0; — um NUL não tem representação legal em HTML, e produzir um trunca uma string C, quebra um insert SQL e corrompe quem lê o resultado;
  • &#xD800; até &#xDFFF; — metades substitutas não são caracteres, apenas um artefato de codificação;
  • tudo acima de &#1114111; — além do topo do Unicode.

Você vê a referência que digitou, o sinal honesto de que ela não nomeava nada.

Privado por padrão

Tudo é executado localmente no seu navegador com JavaScript. Os seus dados nunca são enviados para um servidor, o que torna a ferramenta segura para conteúdo sensível e funciona offline.

Perguntas frequentes

Por que &hearts; ainda está na minha saída?
Porque não está na lista de nomes que esta ferramenta decodifica, e deixá-lo visível é melhor que apagá-lo ou adivinhar. O HTML5 define mais de dois mil nomes; os comuns estão cobertos e o resto fica exatamente como você digitou, para que você veja o que não foi tratado. A forma numérica, `&#9829;`, decodifica.
Por que &amp;lt; virou apenas &lt; e não <?
Porque a decodificação roda uma vez. `&amp;lt;` é o que um codificador produz a partir do texto literal `&lt;`, então uma passagem devolve esse texto — e essa é a resposta certa. Decodificar duas vezes transformaria marcação escapada em marcação viva, exatamente a falha que o escape existe para impedir.
Por que &#0; ficou intacto?
Porque não há caractere a produzir. Um NUL não tem representação legal num documento HTML, e emiti-lo truncaria uma string C, quebraria um insert SQL e corromperia quem lesse o resultado. O mesmo vale para uma metade substituta e para tudo acima de U+10FFFF: a referência volta como foi escrita, visível.

Conversores relacionados