// Escapar HTML
HTML Entities Encoder / Decoder
Codifique caracteres HTML inseguros em entidades e decodifique entidades de volta para caracteres.
Text
Escaped
HTML Entities Encoder / Decoder exemplos.
// Desescapar entidades
Perguntas frequentes.
Por que escapar HTML?
Para prevenir ataques XSS e garantir que o conteúdo seja exibido corretamente.
Por que a conversão de entidades HTML é importante
O HTML utiliza caracteres especiais como <, > e & para definir a estrutura de uma página. Se esses caracteres aparecerem em conteúdo do usuário sem tratamento, o navegador pode interpretá-los como código HTML ou JavaScript.
Isso abre margem para ataques de XSS (Cross-Site Scripting), onde um invasor injeta scripts maliciosos em páginas web. A conversão HTML transforma esses caracteres em entidades seguras que são exibidas como texto puro.
Caracteres como aspas duplas (''), aspas simples (") e o símbolo de maior que (<) também devem ser convertidos em contextos específicos, como atributos de elementos HTML e valores de campos de formulário.
Proteção XSS vs conversão de entidades
A conversão HTML é a primeira linha de defesa contra XSS. Ao escapar todo conteúdo recebido de usuários antes de inseri-lo no DOM, você impede que scripts sejam executados no navegador.
Bibliotecas de templates modernas como React e Vue aplicam a conversão automaticamente. Porém, métodos como innerHTML e dangerouslySetInnerHTML não aplicam esse tratamento, exigindo atenção redobrada do desenvolvedor.
Existem duas abordagens: escaping no momento da renderização (saída) ou sanitização no momento do armazenamento (entrada). A melhor prática é aplicar ambos para uma defesa em profundidade.
Entidades nomeadas vs numéricas
Entidades nomeadas são atalhos legíveis como < para <, > para >, & para & e " para aspas duplas. Elas são mais fáceis de lembrar e de ler no código-fonte.
Entidades numéricas usam o código do caractere, como < para < e & para &. São úteis para caracteres que não possuem entidade nomeada, como emojis e símbolos especiais Unicode.
Ambas as formas produzem o mesmo resultado no navegador. Para manutenção, prefira entidades nomeadas quando disponíveis, pois tornam o código mais compreensível.