Codificador e decodificador de entidades HTML
Converta caracteres especiais em entidades HTML e vice-versa, totalmente no cliente. Três modos de codificação — apenas especiais, todos não-ASCII, ou apenas numéricos — com codificação idempotente.
O que são entidades HTML?
Entidades HTML são sequências de escape que representam caracteres reservados ou não-ASCII em HTML. Os cinco mais comuns — & < > " ' — devem ser entitizados para que o navegador não os interprete como marcação. Permitem incluir qualquer código Unicode.
Nomeadas vs numéricas
Entidades nomeadas como & ou © são mais legíveis mas limitadas a ~250 caracteres pré-definidos. Numéricas como & (decimal) ou & (hex) funcionam para qualquer código Unicode e têm suporte universal. Em dúvida — e em XML — use numéricas.
Quando escapar HTML?
Sempre escape qualquer texto do usuário antes de injetar em HTML — comentários, buscas, perfis, mensagens de erro. Pular este passo é o bug XSS mais comum. Engines de template e frameworks modernos fazem isso automaticamente; concatenação crua não.
Precisa de codificação URL? Experimente nosso codificador / decodificador URL.
Usos comuns
- Prevenir XSS: Escape comentários, perfis e buscas do usuário antes de renderizar em HTML para bloquear injeção de scripts.
- Segurança de templates de email: Codifique campos dinâmicos em emails transacionais para que clientes HTML renderizem como texto, não como markup.
- Geradores de sites estáticos: Pré-codifique conteúdo derivado de markdown no build para HTML livre de XSS.
- Migração JSON-HTML: Converta campos de API com metacaracteres HTML em entidades antes de colar em templates server-side.
- Logging e debug: Codifique payloads brutos antes de escrever em log viewers HTML.
- Trechos de documentação: Mostre HTML literal dentro de <code> entitizando os símbolos.
- Migração de CMS legado: Decodifique conteúdo entitizado exportado de CMS antigos para texto plano.
FAQ
O que são entidades HTML e por que preciso delas?
São sequências de escape que representam caracteres reservados (& < > " ') e qualquer não-ASCII sem quebrar o parsing HTML. Necessárias quando texto cru poderia ser interpretado como markup.
Nomeadas vs numéricas — qual usar?
Use numéricas (&, &) para contextos não-HTML — XML, RSS, SGML. Use nomeadas (&, ©) em HTML escrito à mão onde legibilidade importa.
Quando devo escapar HTML em conteúdo do usuário?
Sempre — exceto quando explicitamente usar um sanitizer que permite um subconjunto seguro (ex. DOMPurify). Concatenar texto do usuário sem escapar é o XSS clássico.
Como decodifico ' e '?
Ambas decodificam para apóstrofo ('). Este decoder aceita named ', decimal ' e hex '.
Esta ferramenta envia meus dados para algum lugar?
Não. Toda codificação e decodificação roda inteiramente no seu navegador. Seu texto nunca sai do dispositivo.
Em números
- O HTML Living Standard define ~250 referências de caracteres nomeadas — a maioria dos navegadores também aceita o conjunto HTML 4.01
- A OWASP recomenda escapar cinco caracteres (
&,<,>,",') ao inserir texto não confiável no contexto do corpo HTML - Referências numéricas (ex.
&) funcionam para qualquer código Unicode — úteis quando não há entidade nomeada disponível - XML suporta apenas cinco entidades nomeadas (
amp lt gt quot apos) — parsers XML estritos rejeitam entidades HTML como©