HTML Escape / Unescape
- Escolha o modo: escapar ou desescapar.
- Cole ou digite o texto.
- O resultado aparece enquanto você digita e pode ser copiado direto.
Escapar converte & em &, < em <, > em >, aspas duplas em " e aspas simples em '.
São exatamente esses cinco porque são os que têm significado estrutural em HTML. O < abre uma tag, as aspas delimitam valor de atributo, e o & inicia a própria entidade.
O & precisa vir primeiro na conversão. Escapar na ordem errada produziria &lt; a partir de <, corrompendo o resultado — um bug clássico em implementações caseiras.
Ao desescapar, além dessas entidades a ferramenta reconhece , ', entidades numéricas como é e hexadecimais como 😀.
Inserir texto vindo do usuário direto no HTML sem escapar é a origem do XSS. Um comentário contendo uma tag de script passa a ser executado como código na página de quem lê.
Escapar transforma esse texto em conteúdo inerte: o navegador exibe os caracteres em vez de interpretá-los.
Vale a ressalva importante: escapar para HTML não protege em todos os contextos. Dentro de um atributo de evento, de uma URL ou de um bloco de JavaScript, as regras de escape são outras. A solução robusta é usar a API do framework que já trata isso, ou uma biblioteca de sanitização.
- Exibir um trecho de código HTML dentro de uma página sem que ele seja renderizado.
- Investigar por que um texto aparece com &lt; visível na tela — sinal de escape duplo.
- Preparar conteúdo para um campo que não escapa sozinho.
- Recuperar o texto original de um HTML já escapado.
Perguntas frequentes
É escape duplo: o texto foi escapado duas vezes. O & do < original virou &. Desescapar uma vez aqui devolve o valor correto.
No contexto de conteúdo de elemento, sim. Dentro de atributo de evento, de URL ou de bloco JavaScript, não — cada contexto exige um escape próprio. Use a API do seu framework ou uma biblioteca de sanitização.
Porque ' não faz parte do HTML 4 e alguns interpretadores antigos não a reconhecem. A forma numérica ' funciona em qualquer lugar.
Espaço que não quebra linha. É útil para manter duas palavras juntas, mas espalhado pelo texto costuma ser resquício de conteúdo colado de editor.
Não. A conversão acontece no seu navegador.