Codificação

HTML Entities Encode/Decode

Codificação e decodificação de entidades HTML — exibição segura de caracteres especiais na página.

HTML entities are a way to write characters that would otherwise break markup (<, >, &) or have no keyboard key, as safe text sequences like &lt; or &amp;. This tool encodes and decodes such entities right in your browser.

How to use it

Common uses

Things to keep in mind

HTML entity escaping only protects against XSS via a page's text content — it does not protect a JavaScript context (innerHTML, eval) or href/src attributes containing unvalidated URLs.

Encode exactly at the point where text gets inserted into HTML, not ahead of time when saving to a database — otherwise the data gets mangled when reused outside an HTML context.

Artigo sobre esta ferramenta: HTML Entities: como exibir caracteres especiais com segurança

Perguntas frequentes

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

Entidades nomeadas como &amp; são mais fáceis de ler, enquanto entidades numéricas como &#38; ou &#x26; (decimal ou hex) funcionam para qualquer caractere, incluindo os que não têm entidade nomeada. Ambas são renderizadas de forma idêntica no navegador.

Quando realmente preciso codificar entidades HTML?

Codifique caracteres como < > & " ' sempre que inserir texto dinâmico ou fornecido pelo usuário em marcação HTML, para que o navegador os trate como texto e não como parte de uma tag ou atributo.

Qual a diferença entre o modo "Básico" e "Todos os caracteres"?

O modo Básico escapa apenas os caracteres estruturalmente significativos em HTML (como < > & " '), enquanto "Todos os caracteres" também converte outros caracteres não-ASCII em entidades numéricas, útil para parsers mais antigos ou rígidos.

Preciso escapar o texto num atributo de forma diferente do corpo da página?

Os caracteres principais (<, >, &) são escapados da mesma forma, mas dentro de um atributo entre aspas é crítico escapar especificamente o tipo de aspas que delimita o atributo — caso contrário o valor "quebra" antes do esperado.

O escaping de HTML protege contra todos os tipos de XSS?

Não. Ele cobre o vetor mais comum — inserir texto em conteúdo HTML — mas não protege contra XSS via contexto JavaScript (por exemplo, innerHTML seguido de execução de código) ou URLs não validadas em href/src.

Artigos: Codificação

Base64: para que serve a codificação e como funciona

Como o Base64 transforma dados binários em texto ASCII e quando isso é realmente necessário.

Base32: em que difere do Base64 e quando é mais prático

O alfabeto do Base32, que não diferencia maiúsculas de minúsculas, e os casos em que é mais prático que o Base64.

URL Encode/Decode: o percent-encoding em links

Como caracteres especiais em endereços e parâmetros se tornam sequências %XX.

JWT: a estrutura do token e o que significa "decodificar" um JWT

O header, o payload e a signature de um JWT, e por que decodificar não é o mesmo que verificar a assinatura.

Unicode Escape: o que significam as sequências \uXXXX

De onde vêm sequências como \u0041 em JSON e strings JS, e o que significam.

ROT13 e a cifra de César: substituição simples de caracteres

Por que um deslocamento de 13 letras torna o ROT13 autoinverso, e por que ainda se usa hoje.

Punycode: como os domínios internacionalizados funcionam no DNS

Como um domínio com caracteres não latinos se torna uma forma ASCII com o prefixo xn--.

Código Morse: como o texto se transforma em pontos e traços

O princípio de codificar letras em pontos e traços, e onde o Morse ainda é usado hoje.

Data URI: quando incorporar imagens diretamente no código

Como um Data URI incorpora o conteúdo de um arquivo diretamente em HTML ou CSS, e quando vale a pena.

Gzip + Base64: comprimir dados para transmitir como texto

Por que dados binários comprimidos também são codificados em Base64 antes de irem para um campo de texto.

XML Entities: escapar caracteres em documentos XML

As cinco entidades XML obrigatórias sem as quais o documento quebra ao ser analisado.