Logotipo
Prompt Minds

Codificador / decodificador de entidades HTML — escape e unescape de HTML

Deixe o texto seguro para exibir dentro de HTML, ou transforme &entidades; de volta em caracteres legíveis.

टेक्स्ट को HTML में सुरक्षित दिखाने के लिए एनकोड करें या &entities; को वापस टेक्स्ट बनाएँ।

100% privado — funciona no seu navegador · Última atualização: outubro de 2026
—
Logotipo do PDNobPDNob Seu editor de PDF leve com IA Editar · Converter · Comprimir · OCR · IA Baixar para computador

Dicas rápidas

Faça o escape do & primeiro — ele inicia toda entidade
Use o modo de caracteres especiais para trechos de código
Páginas em UTF-8 não precisam de entidades para o hindi
Use o modo numérico para sistemas só com ASCII
Na produção, confie no escape do seu framework
Todas as ferramentas
Publicidade

Resposta rápida

Cole o texto e escolha Codificar para substituir caracteres com significado especial em HTML — & vira &amp;, < vira &lt;, > vira &gt; e as aspas viram &quot; ou &#39; — para que o navegador os mostre como texto em vez de tratá-los como código. Escolha um modo mais forte para converter também símbolos como © e letras hindi em entidades. Mude para Decodificar para transformar &nbsp;, &copy; ou &#2344; de volta em caracteres.

O que é um Codificador de entidades HTML?

Um Codificador / decodificador de entidades HTML (HTML एनकोडर / डिकोडर) converte caracteres com significado especial em HTML em códigos seguros chamados entidades e converte esses códigos de volta em caracteres. Em HTML, um sinal de menor que inicia uma tag, um e comercial inicia uma entidade e as aspas delimitam valores de atributos. Se você quer que uma página web exiba «<div>», «5 < 10» ou «Tom & Jerry», esses caracteres precisam ser escritos como &lt;, &gt; e &amp;. Caso contrário, o navegador os trata como marcação — quebrando o layout ou, com entradas não confiáveis, abrindo a porta para cross-site scripting (XSS).

Esta ferramenta grátis faz o escape dos cinco caracteres especiais do HTML, também pode converter símbolos comuns em entidades nomeadas, como &copy; e &mdash;, ou transformar todo caractere não ASCII — hindi, emoji, ₹ — em referências numéricas para sistemas que só aceitam ASCII simples. No sentido contrário, decodifica qualquer entidade nomeada ou numérica, de &nbsp; a &#x1F600;, de volta no caractere real. A decodificação usa o DOMParser do navegador, que só analisa, então até tags de script coladas nunca são executadas.

Principais recursos

  • Somente caracteres especiais — & < > “ ' escapados para conteúdo e atributos HTML seguros.
  • Entidades nomeadas — cerca de 30 símbolos comuns (&nbsp; &copy; &reg; &euro; &rarr; &hellip; …).
  • Referências decimais — todo caractere não ASCII como &#NNNN;.
  • Referências hexadecimais — todo caractere não ASCII como &#xHHHH;.
  • Decodifique qualquer coisa — todas as entidades nomeadas do HTML5 e referências numéricas.
  • Seguro com emoji — caracteres fora do Plano Multilíngue Básico viram uma só referência, não duas.
  • Contagem de entidades e cópia com um clique.
  • Privado — roda localmente.

Como usar — passo a passo

  1. Escolha Codificar ou Decodificar.
  2. Para codificar, escolha um modo — somente caracteres especiais (o mais comum), entidades nomeadas ou numéricas.
  3. Cole seu texto, código ou HTML.
  4. Copie o resultado ou pressione Usar o resultado como entrada para revertê-lo.

Modos de codificação comparados

Entrada: <p class="note">Price: ₹500 — "Tom & Jerry" © 2026</p>

ModoResultado
Somente caracteres especiais&lt;p class=&quot;note&quot;&gt;Price: ₹500 — &quot;Tom &amp; Jerry&quot; © 2026&lt;/p&gt;
+ entidades nomeadas… ₹500 &mdash; &quot;Tom &amp; Jerry&quot; &copy; 2026 …
Decimal… &#8377;500 &#8212; … &#169; 2026 …
Hex… &#x20B9;500 &#x2014; … &#xA9; 2026 …

O sinal de rúpia não tem entidade nomeada, então o modo nomeado o deixa como ₹, enquanto os modos numéricos o convertem.

Os cinco caracteres cujo escape é obrigatório

CaractereEntidadePor quê
&&amp;Inicia toda entidade — faça o escape dele primeiro
<&lt;Inicia uma tag
>&gt;Encerra uma tag (o escape evita confusão)
"&quot;Encerra valores de atributos entre aspas duplas
'&#39;Encerra valores de atributos entre aspas simples

Escape de HTML e XSS

O cross-site scripting acontece quando um texto não confiável — um nome de usuário, comentário ou termo de busca — é colocado em uma página sem escape, permitindo que um invasor injete <script> ou atributos de manipuladores de eventos. Fazer o escape dos cinco caracteres especiais neutraliza isso em conteúdo normal de elementos e em valores de atributos entre aspas, porque o navegador passa a ver texto e não código. Mas o contexto importa: dados colocados dentro de JavaScript, URLs, CSS ou atributos sem aspas precisam de escape diferente, e alguns pontos de saída (como innerHTML com entrada do usuário) são arriscados de qualquer modo. Em aplicações reais, confie no escape automático do seu framework (React, Angular, Django, Laravel Blade, Jinja e outros fazem o escape por padrão), use textContent em vez de innerHTML em JavaScript simples e adicione uma Content Security Policy. Esta ferramenta é ideal para escapes avulsos, documentação e aprendizado.

Referências numéricas de caracteres

Todo caractere Unicode tem um número chamado ponto de código. O HTML permite escrever qualquer caractere como &# + número decimal + ; ou &#x + número hexadecimal + ;. A letra devanágari न é U+0928, então pode ser escrita como &#2344; ou &#x928;; «नमस्ते» vira &#2344;&#2350;&#2360;&#2381;&#2340;&#2375;. Os emoji têm pontos de código acima de U+FFFF — 😀 é U+1F600, escrito &#128512; ou &#x1F600;. Alguns conversores ingênuos dividem esses caracteres em duas referências «substitutas» inválidas; esta ferramenta lê pontos de código completos, então a saída é sempre válida.

Quando você realmente precisa de entidades?

  • Sempre para & < > e aspas quando precisam aparecer como texto.
  • Mostrar código em tutoriais, blogs e documentação dentro de <pre> ou <code>.
  • Sistemas só com ASCII — alguns construtores de e-mail, gateways de SMS, feeds XML ou bancos de dados antigos.
  • Caracteres invisíveis ou confundíveis — &nbsp;, &shy; e caracteres de largura zero ficam mais claros como entidades.
  • Desnecessárias para hindi, letras acentuadas ou emoji em páginas servidas em UTF-8 — digite-os diretamente.

Decodificando entidades

O texto copiado de códigos-fonte de páginas, feeds RSS, APIs ou bancos de dados muitas vezes chega cheio de entidades: Tom &amp; Jerry, caf&eacute;, &#8377;500. Mude para Decodificar e cole-o para obter texto legível. O decodificador entende a lista completa de entidades nomeadas do HTML5 (mais de 2,000) e todas as formas numéricas, porque usa o próprio analisador de HTML do navegador. Texto com codificação dupla, como &amp;amp;, é decodificado um nível por vez — pressione «Usar o resultado como entrada» e decodifique de novo.

Como a ferramenta funciona

A codificação percorre seu texto um ponto de código Unicode por vez (não uma unidade UTF-16), então emoji e outros caracteres além de U+FFFF são convertidos inteiros. Os cinco caracteres especiais sempre recebem escape; no modo nomeado, uma pequena tabela de nomes bem suportados é aplicada em seguida; nos modos numéricos, qualquer caractere acima da faixa ASCII (ponto de código 127) vira uma referência decimal ou hexadecimal. A decodificação entrega o texto ao analisador de HTML do navegador, compatível com os padrões, dentro de um documento isolado e sem scripts, e lê de volta o texto simples, e é por isso que as mais de 2,000 entidades nomeadas do HTML5 são reconhecidas. Nenhum texto é enviado a lugar nenhum.

E-mail HTML e entidades

Os clientes de e-mail são menos tolerantes que os navegadores. Alguns clientes ou plataformas de envio mais antigos estragam caracteres não ASCII se a codificação da mensagem não estiver declarada corretamente, transformando «₹» ou «—» em símbolos estranhos. Referências numéricas como &#8377; e &#8212; sobrevivem a quase qualquer sistema porque são ASCII simples. Ao criar modelos de newsletter, passe os símbolos especiais pelo modo numérico, mantenha as letras normais como estão e sempre envie um e-mail de teste a vários clientes antes de uma campanha.

Usos comuns

  • Exibir trechos de código em posts de blog e documentação.
  • Preparar texto para modelos de e-mail HTML.
  • Limpar texto cheio de entidades exportado de CMSs e feeds.
  • Fazer o escape de valores antes de colocá-los em atributos HTML à mão.
  • Converter texto em hindi em referências seguras para ASCII em sistemas antigos.
  • Aprender como funcionam a análise de HTML e as defesas contra XSS.
  • Mostrar exemplos de HTML em posts de fóruns ou caixas de comentário que aceitam marcação limitada.

Erros comuns a evitar

  • Fazer o escape duas vezes — &amp;lt; mostra «&lt;» na tela em vez de «<».
  • Esquecer o ponto e vírgula — os navegadores muitas vezes adivinham, mas nem sempre corretamente.
  • Fazer o escape para o contexto errado — o escape de HTML não deixa o texto seguro dentro de strings de JavaScript ou URLs.
  • Usar entidades em vez de UTF-8 para cada letra hindi — incha as páginas e é difícil de editar.
  • Atributos sem aspas — sempre coloque aspas nos valores de atributos e depois faça o escape das aspas.

Solução de problemas

  • Entidades ainda visíveis na página — o texto foi codificado duas vezes; decodifique uma vez.
  • Pontos de interrogação ou quadradinhos — a página não é servida em UTF-8; adicione <meta charset=“UTF-8”> ou use o modo numérico.
  • Uma entidade nomeada não foi decodificada — confira a grafia e o ponto e vírgula final.
  • As aspas simples parecem inalteradas no modo nomeado — elas recebem escape como o numérico &#39;, que é a forma mais compatível.
  • As quebras de linha sumiram da página — o HTML reduz as quebras de linha; envolva o texto codificado em um elemento pre ou converta as quebras em tags br.

Glossário rápido

  • Entidade: um código como &amp; que representa um caractere em HTML.
  • Entidade nomeada: uma entidade com nome, como &copy;.
  • Referência numérica de caractere: &#169; ou &#xA9;, pelo ponto de código.
  • Escape: converter caracteres especiais para que sejam tratados como texto.
  • XSS: cross-site scripting, a injeção de scripts por meio de entradas sem escape.
  • Ponto de código: o número de um caractere no Unicode, como U+0928.

Por que usar este Codificador de HTML?

Ele oferece o nível certo de escape para cada tarefa, trata hindi e emoji corretamente, decodifica toda entidade com segurança e explica quando as entidades são realmente necessárias — grátis, instantâneo e privado.

Codificador / decodificador de entidades HTML — Informações principais

Escape básico& → &amp; · < → &lt; · > → &gt; · “ → &quot; · ' → &#39;
Modo nomeadoTambém © &copy;, — &mdash;, espaço inseparável &nbsp; e mais
Modos numéricosTodo caractere não ASCII como &#decimal; ou &#xHEX;
DecodificarTodas as entidades nomeadas e numéricas, via um DOMParser que só analisa
UnicodeHindi e emoji tratados corretamente (😀 → &#128512;)
PrivacidadeRoda no seu navegador

Perguntas frequentes

O que são entidades HTML?

Entidades HTML são códigos que representam caracteres em HTML. Começam com & e terminam com ;, como &lt; para < ou &copy; para ©. Formas numéricas como &#169; ou &#xA9; se referem ao número Unicode do caractere.

Por que preciso fazer o escape de <, > e &?

Os navegadores tratam o < como o início de uma tag e o & como o início de uma entidade. Se você quer mostrar código ou texto que os contenha — por exemplo, «5 < 10» ou «Tom & Jerry» — faça o escape deles para que o navegador os exiba literalmente.

O escape de HTML evita ataques XSS?

Fazer o escape de & < > “ ' é a defesa central ao inserir texto não confiável em conteúdo de elementos HTML e atributos entre aspas. Outros contextos — JavaScript, URLs, CSS — precisam do próprio escape, e os frameworks modernos fazem o escape automaticamente. Use o escape embutido do seu framework em código de produção.

Qual é a diferença entre entidades nomeadas e numéricas?

As entidades nomeadas usam um nome fácil de lembrar (&copy;), mas só existem para alguns caracteres. As referências numéricas (&#169; ou &#xA9;) funcionam para qualquer caractere Unicode, incluindo letras hindi e emoji.

Preciso de entidades para hindi ou emoji?

Em geral, não. Se a sua página é salva e servida em UTF-8 (com uma tag meta charset UTF-8), você pode digitar hindi e emoji diretamente. As entidades numéricas são úteis para sistemas que só aceitam ASCII, como alguns modelos de e-mail ou bancos de dados antigos.

O que significa &nbsp;?

&nbsp; é um espaço inseparável: parece um espaço, mas impede a quebra de linha naquele ponto e não é reduzido junto com outros espaços. A decodificação o transforma de volta no caractere U+00A0.

A decodificação é segura se o texto contém scripts?

Sim. A decodificação usa o DOMParser, que monta um documento sem executar scripts, e lê apenas o texto. A saída decodificada é mostrada como texto simples numa caixa de texto.

Por que ' é codificado como &#39; e não como &apos;?

&apos; é definido no HTML5 e no XML, mas não fazia parte do HTML 4, então &#39; é a escolha mais compatível para aspas simples.

Posso codificar um arquivo HTML inteiro?

Sim. Codificar um documento HTML completo o transforma em texto que você pode exibir dentro de um bloco pre ou code — útil para tutoriais e documentação.

Qual é a diferença em relação à codificação de URL?

A codificação de URL (%20, %26) deixa o texto seguro dentro de endereços web; a codificação HTML deixa o texto seguro dentro de documentos HTML. Use nosso Codificador de URL para links.

Meu texto é enviado?

Não. Tudo acontece no seu navegador.

O Codificador de HTML é grátis?

Sim. É grátis, ilimitado e não exige cadastro.

Deixe o texto seguro para HTML na hora!

Faça escape, unescape e converta entidades — grátis e privado.

Conheça mais ferramentas da Prompt Minds

O Codificador / decodificador de entidades HTML funciona muito bem junto com nossas outras ferramentas grátis. Todas as ferramentas do Prompt Minds rodam inteiramente no seu navegador — sem cadastro, sem uploads, sem marca d’água. Ver todas as ferramentas grátis.

Assistente de IA da Prompt Minds
Namaste! Como posso ajudar você com o Codificador / decodificador de entidades HTML?