Decodificador de Entidades HTML — Unescape HTML
Decodifique entidades HTML e faça unescape de HTML online — grátis, sem cadastro, 100% no seu navegador. Converte referências nomeadas, decimais & hex de volta em caracteres; nada é enviado.
Seu texto é decodificado localmente no seu navegador e nunca é enviado, registrado ou armazenado. Ele permanece neste dispositivo.
Opções · Opções de decodificação
O Que É a Decodificação de Entidades HTML?
A decodificação de entidades HTML — também chamada de unescape de HTML — é o processo de converter referências de caractere de volta nos caracteres que elas representam. Onde a codificação substitui um < literal pela entidade < para que o navegador o exiba como texto, a decodificação faz o inverso: ela varre uma string em busca de referências como <, &, <, > ou © e substitui o caractere real (<, &, <, >, ©) por cada uma. É a operação que você roda quando tem marcação que foi armazenada ou transmitida em sua forma escapada e precisa do texto real de volta — para lê-lo, editá-lo, entregá-lo a outro programa ou descobrir por que uma página está renderizando < em vez de <.
Vale ser preciso sobre o que esta ferramenta faz. Ela decodifica entidades em caracteres; não reformata nem valida a marcação. Se você quer pegar uma string escapada e recuperar seus caracteres literais, esta é a ferramenta certa. Para ir no outro sentido e transformar caracteres em entidades, use o Codificador de Entidades HTML; e para indentar e arrumar um bloco de HTML, use o Formatador HTML. Codificar e decodificar são inversos exatos, então uma string enviada pelo codificador e de volta pelo decodificador retorna inalterada.
Há três tipos de referência que o decodificador precisa entender, e ele lida com todas. Uma referência nomeada usa um rótulo definido (< para <, © para ©, — para —); uma referência numérica decimal escreve o ponto de código Unicode na base 10 (< para <); e uma referência numérica hexadecimal escreve o mesmo ponto de código na base 16 (< para <), correspondendo à notação U+XXXX do padrão Unicode. Um decodificador robusto aceita qualquer uma delas, em qualquer mistura, porque diferentes codificadores emitem formas diferentes. A tabela abaixo mostra as referências que você mais encontrará e o caractere para o qual cada uma decodifica:
| Entidade (nomeada) | Decimal | Hex | Decodifica para | |----------------|---------|-----|------------| | < | < | < | < | | > | > | > | > | | & | & | & | & | | " | " | " | " | | ' | ' | ' | ' | | |   |   | (espaço inquebrável) | | © | © | © | © | | ® | ® | ® | ® | | ™ | ™ | ™ | ™ | | € | € | € | € | | £ | £ | £ | £ | | — | — | — | — | | – | – | – | – | | … | … | … | … | | 😀 | 😀 | 😀 | 😀 |
Dois comportamentos distinguem um decodificador minucioso. Primeiro, ele reconstrói caracteres do plano astral — qualquer um acima de U+FFFF, incluindo a maioria dos emojis — a partir de suas referências numéricas, em vez de produzir um meio-caractere quebrado; 😀 vira corretamente 😀. Segundo, ele segue a análise tolerante do navegador para o pequeno conjunto de entidades nomeadas legadas que historicamente apareciam sem o ponto e vírgula final, então © 2026 ainda decodifica para © 2026 mesmo que o XML estrito o rejeitasse. Esta ferramenta faz ambos, correspondendo ao comportamento da amplamente usada biblioteca he, para que sua saída concorde com o que um navegador real renderizaria.
Uma palavra de cautela que acompanha todo decodificador: o texto decodificado é não escapado por definição. Decodificar é o inverso do escape que protege as páginas contra cross-site scripting, então uma string decodificada contendo uma tag <script> ou um manipulador de evento está de novo viva, marcação perigosa. Nunca decodifique entrada não confiável e depois a insira numa página com innerHTML — isso reabre exatamente a brecha que o escape deveria fechar. Decodifique quando precisar dos caracteres brutos para leitura, edição ou armazenamento; se o resultado for renderizado de volta em HTML, reescape-o no seu contexto de destino primeiro. E como cada byte é processado no seu navegador, as strings escapadas que você decodifica — mesmo um registro privado ou um rascunho não publicado — nunca atravessam a rede. Para conversões vizinhas, o Codificador / Decodificador de URL trata da codificação percent e o Codificar / Decodificar Base64 trata do transporte seguro de binários.
// Decoding is the inverse of escaping. The classic round-trip:
// < → < > → > & → & " → " ' → '
// Browser — the safest decoder is the platform itself. Use textarea, NOT innerHTML on a live node,
// so the decoded markup is never executed.
function decodeHtml(str) {
const ta = document.createElement('textarea');
ta.innerHTML = str; // the parser resolves entities into text
return ta.value; // .value is plain text — no script runs
}
decodeHtml('<div> & ©'); // → '<div> & ©'
decodeHtml('<>'); // → '<>'
decodeHtml('😀'); // → '😀'
decodeHtml('© 2026'); // → '© 2026' (lenient, no semicolon)
// ---------------------------------------------------------------
// SECURITY: decoded text is unescaped. Never do this with untrusted input:
// el.innerHTML = decodeHtml(userInput); // ❌ reopens the XSS hole
// If the decoded value must be displayed, re-escape it in its destination context first,
// or assign it as text:
// el.textContent = decodeHtml(userInput); // ✅ shown as literal text
// ---------------------------------------------------------------
// Node.js (no DOM) — use a tested library such as he:
// import { decode } from 'he';
// decode('<div> & ©'); // → '<div> & ©' Principais Recursos
Decodifica Referências Nomeadas, Decimais e Hex
Resolve o conjunto completo de entidades nomeadas do HTML5 (<, ©, —), referências numéricas decimais (<) e referências hexadecimais (<) em qualquer combinação, exatamente como um navegador faria — então reverte o que quer que um codificador tenha produzido.
Lida com Emojis e Caracteres do Plano Astral
Referências numéricas acima de U+FFFF são reconstruídas em seu ponto de código completo, então 😀 decodifica para 😀 em vez de um substituto quebrado. Ideogramas CJK raros e símbolos matemáticos também decodificam fielmente.
Análise Tolerante de Entidades Legadas
Segue as regras retrocompatíveis do navegador para entidades nomeadas sem o ponto e vírgula final, então marcação legada ou desleixada como © 2026 ainda decodifica para © 2026 onde um analisador estrito a deixaria quebrada.
Decodificação Ao Vivo e Instantânea
A saída atualiza conforme você digita — sem botão de envio, sem latência de ida e volta. Cole um grande bloco escapado e o texto recuperado aparece imediatamente, pronto para copiar.
Referência Rápida de Entidades Integrada
Uma tabela de referência mapeando as entidades mais comuns — os cinco reservados mais ©, ®, ™, €, —, e outros — para seus caracteres fica na própria página, para você nunca precisar consultar uma entidade em outro lugar.
Troca para o Codificador com Um Clique
Inverter direção salta direto para o Codificador de Entidades HTML para reverter a operação. Codificar e decodificar são inversos exatos, então você pode fazer um ciclo de ida e volta do texto sem perda.
100% Privado, Só no Navegador
Toda a decodificação acontece no seu dispositivo com JavaScript — sem requisições de rede, sem registro, sem armazenamento, verificável no DevTools → Network. Fragmentos privados de banco de dados, conteúdo de e-mail e rascunhos não publicados nunca saem da aba.
Disponível em 15 Idiomas
A interface completa — rótulos, instruções e orientações — está localizada em 15 idiomas, para que a ferramenta e seu conselho de segurança sejam claros não importa onde sua equipe trabalhe.
Exemplos Práticos
Decodificar uma mistura de entidades nomeadas
<div> & ©
<div> & ©
O decodificador resolve cada referência nomeada no caractere que ela representa: < vira <, > vira >, & vira & e © vira o sinal de copyright ©. Este é o caso do dia a dia — pegar uma string que foi armazenada ou transmitida em sua forma escapada e transformá-la de volta nos caracteres reais para que você possa ler, editar ou reprocessar a marcação. Decodificar é o inverso exato de codificar, então uma string que faz o ciclo de ida e volta pelo codificador e de volta chega inalterada.
Decodificar referências numéricas decimais e hexadecimais
<>
<>
As referências numéricas de caractere funcionam em ambas as bases: < é a forma decimal do ponto de código 60, que é <, e > é a forma hexadecimal do ponto de código 62, que é >. O decodificador lida com referências decimais (&#NNN;) e hex (&#xHHH;) de forma intercambiável, resolvendo cada uma no seu caractere Unicode. Isso importa porque os codificadores divergem sobre qual forma emitir — alguns preferem decimal, outros hex — e um decodificador robusto precisa aceitar qualquer uma.
Decodificar uma entidade legada sem o ponto e vírgula
© 2026
© 2026
O HTML antigo permitia que um pequeno conjunto de entidades nomeadas aparecesse sem o ponto e vírgula final, e os navegadores ainda as resolvem para retrocompatibilidade — © 2026 renderiza como © 2026. Este decodificador segue as mesmas regras de análise tolerantes, então recupera o caractere pretendido de marcação desleixada ou legada que um analisador estrito deixaria intocada. Se você está depurando texto que mostra um © perdido, é por isso.
Decodificar um emoji a partir de sua referência hex
😀
😀
As referências numéricas não se limitam ao Plano Multilíngue Básico — 😀 é a referência hexadecimal do ponto de código U+1F600, o emoji de rosto sorridente 😀. O decodificador reconstrói corretamente caracteres do plano astral (qualquer um acima de U+FFFF) a partir de suas referências numéricas, então emojis, ideogramas CJK raros e símbolos matemáticos decodificam fielmente em vez de virarem um substituto quebrado ou um glifo de reposição.
Decodificar uma string de atributo escapada
<a href="x">Tom & Jerry's</a>
<a href="x">Tom & Jerry's</a>
Este é um ciclo completo de ida e volta do exemplo principal do codificador. " resolve numa aspa dupla, ' (o apóstrofo numérico seguro por compatibilidade) resolve em ', e as entidades de sinal de menor/maior e E comercial resolvem em seus caracteres literais, reconstruindo o original Tom & Jerry's exatamente. Como o decodificador aceita referências nomeadas, decimais e hex em qualquer combinação, ele reverte o que quer que um codificador tenha produzido, independentemente do estilo de entidade usado.
Como Usar o Decodificador de Entidades HTML
- 1
Cole a string escapada
Coloque o texto cheio de entidades HTML na caixa de entrada. Os caracteres decodificados atualizam ao vivo conforme você digita — não há botão de envio e nada é mandado a lugar nenhum.
- 2
Leia o resultado decodificado
Referências nomeadas, decimais e hexadecimais resolvem automaticamente nos caracteres que representam, incluindo emojis e outros pontos de código do plano astral. Nenhuma seleção de formato é necessária — o decodificador detecta o tipo de cada referência.
- 3
Copie o texto decodificado
Clique em Copiar para colocar os caracteres recuperados na sua área de transferência, prontos para colar num editor, num banco de dados ou em outra ferramenta. Limpar reinicia ambos os painéis para a próxima string.
- 4
Reescape antes de reexibir texto não confiável
Se a saída decodificada for renderizada de volta numa página web e parte dela vier de uma fonte não confiável, escape-a de novo primeiro com o codificador para evitar reabrir uma brecha de XSS.
- 5
Precisa codificar? Inverta a direção
Use Inverter direção para mudar para o Codificador de Entidades HTML quando quiser transformar caracteres brutos em entidades.
Erros Comuns de Decodificação HTML
Renderizou entrada decodificada não confiável com innerHTML
Decodificar faz unescape do texto, então uma tag <script> decodificada é marcação viva de novo. Inseri-la via innerHTML a executa — uma brecha de XSS de manual. Reescape texto decodificado não confiável, ou use textContent.
el.innerHTML = decode(userInput) → script runs (XSS)
el.textContent = decode(userInput) → shown as text
Decodificou só uma vez quando o texto estava duplamente escapado
Texto duplamente escapado precisa de duas passagens de decodificação. Decodificar < uma vez produz <, não <. Decodifique de novo — e conserte o pipeline para que ele nunca faça escape duplo em primeiro lugar.
&lt; decoded once → < (still an entity)
&lt; decoded twice → <
Confundiu decodificação HTML com decodificação de URL ou Base64
Entidades, codificação percent e base64 são esquemas diferentes. Um decodificador HTML não transforma %20 num espaço nem decodifica um blob base64. Use a ferramenta correspondente a cada camada de codificação.
HTML-decode "%3Cdiv%3E" → unchanged, still percent-encoded
URL-decode "%3Cdiv%3E" → <div>
Usou uma regex que perde referências numéricas ou astrais
Uma regex feita à mão para entidades nomeadas pula silenciosamente <, > e emojis como 😀, deixando-os na saída. Use o analisador do navegador ou uma biblioteca testada que cubra todas as formas de referência.
regex for &name; only → 😀 left undecoded
full decoder → 😀 becomes 😀
Saída exibida como mojibake após a decodificação
Decodificar é dá o é real, mas se a página ou o arquivo receptor não for servido como UTF-8 o caractere corrompe em lixo. Defina o charset como UTF-8 antes de gravar o texto decodificado.
decoded é into a Latin-1 file → é mojibake
decoded é into a UTF-8 file → é
Presumiu análise estrita e perdeu entidades legadas
Um analisador XML estrito ignora entidades sem ponto e vírgula como ©, deixando-as literais. Os navegadores as resolvem, então um decodificador fiel também deve — caso contrário sua saída discorda do que os usuários veem.
strict parse of "© 2026" → © 2026 literal
lenient parse of "© 2026" → © 2026
Quem Usa Esta Ferramenta
- Ler Marcação Armazenada em Forma Escapada
- Extraiu um fragmento de HTML de um banco de dados, de um log ou de um campo JSON onde foi salvo como <div>…? Decodifique-o para ver e editar a marcação real em vez de apertar os olhos diante de um muro de entidades.
- Depurar Texto com Escape Duplo
- Vendo < numa página ativa onde < deveria estar? Cole aqui para confirmar que está duplamente escapado, decodifique duas vezes para recuperar o original e rastreie o escape duplicado de volta à sua origem no seu pipeline.
- Extrair Texto Puro de Trechos de HTML
- Precisa do texto legível por humanos de um corpo de e-mail ou campo de CMS escapado? Decodifique as entidades para recuperar os caracteres reais antes de indexar, pesquisar ou exibir o conteúdo em outro lugar.
- Recuperar Caracteres de Dados Raspados ou Exportados
- Exportações e raspadores costumam entregar conteúdo com entidades intactas. Decodifique &, é e companhia de volta em seus caracteres para que os dados estejam limpos antes de entrarem nos seus próprios sistemas.
- Verificar se a Saída de um Codificador Faz Ida e Volta
- Depois de escapar uma string com o codificador, decodifique-a aqui para confirmar que você recebe o original de volta inalterado. Um ciclo de ida e volta limpo prova que seu escape está correto e reversível.
- Resolver uma Entidade Misteriosa
- Travou em saber o que ™ ou … realmente é? Cole-a e leia o caractere decodificado, ou consulte a tabela de referência rápida integrada — sem precisar memorizar as tabelas de entidades.
- Decodificar Marcação Legada com Segurança
- Trabalhando com HTML antigo que usa entidades sem ponto e vírgula como © ou   de forma inconsistente? O decodificador tolerante recupera os caracteres pretendidos do jeito que um navegador real faria, para que sua limpeza corresponda ao que os usuários realmente veem.
Como o Decodificador Funciona
- Resolve as Três Formas de Referência
- O decodificador compara referências nomeadas com a tabela completa de caracteres nomeados do HTML5, analisa referências decimais (&#NNN;) como pontos de código de base 10 e analisa referências hexadecimais (&#xHHH;) como pontos de código de base 16. Cada uma resolve no seu caractere Unicode; as três formas são intercambiáveis na entrada.
- Reconstrução do Plano Astral
- Referências numéricas cujo ponto de código excede U+FFFF — a maioria dos emojis e muitos símbolos — são convertidas no par substituto correto para que o caractere renderize como um único glifo. 😀 vira 😀, não dois meio-caracteres quebrados.
- Tratamento Tolerante de Entidades Legadas
- Um subconjunto definido de entidades nomeadas historicamente aparecia sem o ponto e vírgula final, e os navegadores ainda as resolvem. O decodificador espelha esse comportamento — © 2026 produz © 2026 — correspondendo à renderização de um navegador real em vez de um analisador XML estrito.
- Idempotente em Texto Puro
- Caracteres que não fazem parte de uma referência reconhecida, incluindo texto não-ASCII bruto já presente na entrada, passam intocados. Decodificar uma string sem entidades a retorna inalterada, então a operação é segura para rodar em conteúdo misto.
- A Saída Decodificada É Não Escapada
- Decodificar é o inverso do escape protetor contra XSS, então o resultado é marcação viva de novo. A ferramenta evidencia isso para que você não insira texto decodificado não confiável numa página com innerHTML — reescape-o no seu contexto de destino antes de renderizar.
- Local no Navegador, Rede Zero
- A decodificação roda de forma síncrona em JavaScript na thread principal; não há chamada de API, nem ida e volta a um servidor, nem persistência. A entrada nunca sai da página, o que você pode confirmar observando um painel Network vazio enquanto digita.
Boas Práticas de Unescape de HTML
- Nunca Renderize Texto Decodificado Não Confiável Diretamente
- A saída decodificada é marcação não escapada. Se parte dela veio de um usuário ou de uma fonte externa, reescape-a antes de inseri-la numa página, ou atribua-a via textContent em vez de innerHTML. Pular isso reabre a brecha de cross-site scripting que o escape deveria fechar.
- Decodifique na Ordem Inversa da Codificação
- Um valor pode estar codificado em HTML, depois em URL, depois em Base64. Desfaça as camadas na ordem oposta em que foram aplicadas — e use a ferramenta correspondente a cada uma: esta para entidades, o decodificador de URL para codificação percent, a ferramenta Base64 para base64.
- Decodifique Uma Vez, Não Reflexivamente
- Se uma única decodificação deixa entidades visíveis como <, a entrada estava duplamente escapada — decodifique de novo para recuperar o original, depois conserte o pipeline a montante para que o texto seja escapado exatamente uma vez. Não faça loop cegamente; entenda por que a camada extra existe.
- Sirva o Resultado como UTF-8
- Decodificar referências numéricas produz caracteres Unicode reais — acentos, símbolos, emojis. Certifique-se de que a página, o arquivo ou o campo que recebe o texto decodificado seja UTF-8, ou esses caracteres recuperados exibirão como mojibake.
- Prefira uma Biblioteca Testada no Código da Aplicação
- Para conversões pontuais esta ferramenta é ideal; em produção, decodifique com uma biblioteca bem testada (he no Node, o próprio analisador do navegador via um textarea destacado) em vez de uma regex feita à mão, que rotineiramente perde referências numéricas, caracteres astrais e entidades legadas.
Perguntas Frequentes
Meu texto é enviado ao seu servidor quando eu o decodifico?
O que significa decodificar ou fazer unescape de HTML?
Que tipos de entidades este decodificador consegue tratar?
Por que meu texto mostra < em vez de
A saída decodificada será segura para colocar de volta numa página?
A decodificação lida corretamente com caracteres não-ASCII e emojis?
Como faço para codificar texto de volta em entidades?
Isto é o mesmo que decodificação de URL ou de Base64?
Ferramentas relacionadas
Ver todas as ferramentas →Decodificador e Codificador Base64
Codificação e Formatação
Decodifique e codifique Base64 online gratuitamente. Conversão em tempo real com suporte completo a UTF-8 e emoji. 100% privado — executa no seu navegador. Sem necessidade de cadastro.
Conversor de Base64 para Imagem
Codificação e Formatação
Decodifique uma string Base64 ou data URI de volta para imagem no navegador. Pré-visualize, leia dimensões e MIME, e baixe como PNG, JPG, GIF, SVG. Sem upload.
Conversor CSV para JSON
Codificação e Formatação
Converta CSV para JSON no navegador. RFC 4180, inferência de tipos, cabeçalho, seguro para inteiros grandes. 100% privado, sem upload.
Conversor de .env para JSON
Codificação e Formatação
Cole um arquivo .env e obtenha JSON na hora. Suas senhas, chaves de API e tokens nunca saem do navegador — 100% privado, sem upload, analisador dotenv grátis.
Codificador de Entidades HTML — Escapar HTML
Codificação e Formatação
Codifique entidades HTML e escape caracteres especiais (< > & " ') online — grátis, sem cadastro, 100% no seu navegador. Saída nomeada, decimal ou hex; nada é enviado.
Conversor de HTML para Markdown
Codificação e Formatação
Converta HTML em Markdown limpo no seu navegador — tabelas GFM, listas de tarefas e links. Escolha cabeçalhos ATX/Setext e links inline ou de referência. Ótimo para migrar conteúdo web ou alimentar LLMs. 100% privado, sem upload.