Codificador / decodificador de entidades HTML — escapar e desescapar HTML
Escape texto para HTML com entidades nomeadas ou numéricas, decodifique referências no estilo & de volta para caracteres e pesquise uma tabela de entidades.
<p class="note">Fish & chips — £4.50 at Café "Ōshima" 🐟</p>
Referência de entidades HTML
| Caractere | Nomeada | Decimal | Hex | |
|---|---|---|---|---|
| " | " | " | " | |
| & | & | & | & | |
| ' | ' | ' | ' | |
| < | < | < | < | |
| > | > | > | > | |
| · | |   |   | |
| ¡ | ¡ | ¡ | ¡ | |
| ¢ | ¢ | ¢ | ¢ | |
| £ | £ | £ | £ | |
| ¤ | ¤ | ¤ | ¤ | |
| ¥ | ¥ | ¥ | ¥ | |
| ¦ | ¦ | ¦ | ¦ | |
| § | § | § | § | |
| ¨ | ¨ | ¨ | ¨ | |
| © | © | © | © | |
| ª | ª | ª | ª | |
| « | « | « | « | |
| ¬ | ¬ | ¬ | ¬ | |
| · | ­ | ­ | ­ | |
| ® | ® | ® | ® | |
| ¯ | ¯ | ¯ | ¯ | |
| ° | ° | ° | ° | |
| ± | ± | ± | ± | |
| ² | ² | ² | ² | |
| ³ | ³ | ³ | ³ | |
| ´ | ´ | ´ | ´ | |
| µ | µ | µ | µ | |
| ¶ | ¶ | ¶ | ¶ | |
| · | · | · | · | |
| ¸ | ¸ | ¸ | ¸ | |
| ¹ | ¹ | ¹ | ¹ | |
| º | º | º | º | |
| » | » | » | » | |
| ¼ | ¼ | ¼ | ¼ | |
| ½ | ½ | ½ | ½ | |
| ¾ | ¾ | ¾ | ¾ | |
| ¿ | ¿ | ¿ | ¿ | |
| À | À | À | À | |
| Á | Á | Á | Á | |
| Â | Â | Â | Â | |
| Ã | Ã | Ã | Ã | |
| Ä | Ä | Ä | Ä | |
| Å | Å | Å | Å | |
| Æ | Æ | Æ | Æ | |
| Ç | Ç | Ç | Ç | |
| È | È | È | È | |
| É | É | É | É | |
| Ê | Ê | Ê | Ê | |
| Ë | Ë | Ë | Ë | |
| Ì | Ì | Ì | Ì | |
| Í | Í | Í | Í | |
| Î | Î | Î | Î | |
| Ï | Ï | Ï | Ï | |
| Ð | Ð | Ð | Ð | |
| Ñ | Ñ | Ñ | Ñ | |
| Ò | Ò | Ò | Ò | |
| Ó | Ó | Ó | Ó | |
| Ô | Ô | Ô | Ô | |
| Õ | Õ | Õ | Õ | |
| Ö | Ö | Ö | Ö | |
| × | × | × | × | |
| Ø | Ø | Ø | Ø | |
| Ù | Ù | Ù | Ù | |
| Ú | Ú | Ú | Ú | |
| Û | Û | Û | Û | |
| Ü | Ü | Ü | Ü | |
| Ý | Ý | Ý | Ý | |
| Þ | Þ | Þ | Þ | |
| ß | ß | ß | ß | |
| à | à | à | à | |
| á | á | á | á | |
| â | â | â | â | |
| ã | ã | ã | ã | |
| ä | ä | ä | ä | |
| å | å | å | å | |
| æ | æ | æ | æ | |
| ç | ç | ç | ç | |
| è | è | è | è | |
| é | é | é | é | |
| ê | ê | ê | ê | |
| ë | ë | ë | ë | |
| ì | ì | ì | ì | |
| í | í | í | í | |
| î | î | î | î | |
| ï | ï | ï | ï | |
| ð | ð | ð | ð | |
| ñ | ñ | ñ | ñ | |
| ò | ò | ò | ò | |
| ó | ó | ó | ó | |
| ô | ô | ô | ô | |
| õ | õ | õ | õ | |
| ö | ö | ö | ö | |
| ÷ | ÷ | ÷ | ÷ | |
| ø | ø | ø | ø | |
| ù | ù | ù | ù | |
| ú | ú | ú | ú | |
| û | û | û | û | |
| ü | ü | ü | ü | |
| ý | ý | ý | ý | |
| þ | þ | þ | þ | |
| ÿ | ÿ | ÿ | ÿ | |
| Α | Α | Α | Α | |
| Β | Β | Β | Β | |
| Γ | Γ | Γ | Γ | |
| Δ | Δ | Δ | Δ | |
| Ε | Ε | Ε | Ε | |
| Ζ | Ζ | Ζ | Ζ | |
| Η | Η | Η | Η | |
| Θ | Θ | Θ | Θ | |
| Ι | Ι | Ι | Ι | |
| Κ | Κ | Κ | Κ | |
| Λ | Λ | Λ | Λ | |
| Μ | Μ | Μ | Μ | |
| Ν | Ν | Ν | Ν | |
| Ξ | Ξ | Ξ | Ξ | |
| Ο | Ο | Ο | Ο | |
| Π | Π | Π | Π | |
| Ρ | Ρ | Ρ | Ρ | |
| Σ | Σ | Σ | Σ | |
| Τ | Τ | Τ | Τ | |
| Υ | Υ | Υ | Υ | |
| Φ | Φ | Φ | Φ | |
| Χ | Χ | Χ | Χ | |
| Ψ | Ψ | Ψ | Ψ | |
| Ω | Ω | Ω | Ω | |
| α | α | α | α | |
| β | β | β | β | |
| γ | γ | γ | γ | |
| δ | δ | δ | δ | |
| ε | ε | ε | ε | |
| ζ | ζ | ζ | ζ | |
| η | η | η | η | |
| θ | θ | θ | θ | |
| ι | ι | ι | ι | |
| κ | κ | κ | κ | |
| λ | λ | λ | λ | |
| μ | μ | μ | μ | |
| ν | ν | ν | ν | |
| ξ | ξ | ξ | ξ | |
| ο | ο | ο | ο | |
| π | π | π | π | |
| ρ | ρ | ρ | ρ | |
| ς | ς | ς | ς | |
| σ | σ | σ | σ | |
| τ | τ | τ | τ | |
| υ | υ | υ | υ | |
| φ | φ | φ | φ | |
| χ | χ | χ | χ | |
| ψ | ψ | ψ | ψ | |
| ω | ω | ω | ω | |
| Œ | Œ | Œ | Œ | |
| œ | œ | œ | œ | |
| Š | Š | Š | Š | |
| š | š | š | š | |
| Ÿ | Ÿ | Ÿ | Ÿ | |
| ƒ | ƒ | ƒ | ƒ | |
| ˆ | ˆ | ˆ | ˆ | |
| ˜ | ˜ | ˜ | ˜ | |
| ϑ | ϑ | ϑ | ϑ | |
| ϒ | ϒ | ϒ | ϒ | |
| ϖ | ϖ | ϖ | ϖ | |
| · |   |   |   | |
| · |   |   |   | |
| · |   |   |   | |
| · | ‌ | ‌ | ‌ | |
| · | ‍ | ‍ | ‍ | |
| · | ‎ | ‎ | ‎ | |
| · | ‏ | ‏ | ‏ | |
| – | – | – | – | |
| — | — | — | — | |
| ‘ | ‘ | ‘ | ‘ | |
| ’ | ’ | ’ | ’ | |
| ‚ | ‚ | ‚ | ‚ | |
| “ | “ | “ | “ | |
| ” | ” | ” | ” | |
| „ | „ | „ | „ | |
| † | † | † | † | |
| ‡ | ‡ | ‡ | ‡ | |
| • | • | • | • | |
| … | … | … | … | |
| ‰ | ‰ | ‰ | ‰ | |
| ′ | ′ | ′ | ′ | |
| ″ | ″ | ″ | ″ | |
| ‹ | ‹ | ‹ | ‹ | |
| › | › | › | › | |
| ‾ | ‾ | ‾ | ‾ | |
| ⁄ | ⁄ | ⁄ | ⁄ | |
| € | € | € | € | |
| ℑ | ℑ | ℑ | ℑ | |
| ℘ | ℘ | ℘ | ℘ | |
| ℜ | ℜ | ℜ | ℜ | |
| ™ | ™ | ™ | ™ | |
| ℵ | ℵ | ℵ | ℵ | |
| ← | ← | ← | ← | |
| ↑ | ↑ | ↑ | ↑ | |
| → | → | → | → | |
| ↓ | ↓ | ↓ | ↓ | |
| ↔ | ↔ | ↔ | ↔ | |
| ↵ | ↵ | ↵ | ↵ | |
| ⇐ | ⇐ | ⇐ | ⇐ | |
| ⇑ | ⇑ | ⇑ | ⇑ | |
| ⇒ | ⇒ | ⇒ | ⇒ | |
| ⇓ | ⇓ | ⇓ | ⇓ | |
| ⇔ | ⇔ | ⇔ | ⇔ | |
| ∀ | ∀ | ∀ | ∀ | |
| ∂ | ∂ | ∂ | ∂ | |
| ∃ | ∃ | ∃ | ∃ | |
| ∅ | ∅ | ∅ | ∅ | |
| ∇ | ∇ | ∇ | ∇ | |
| ∈ | ∈ | ∈ | ∈ | |
| ∉ | ∉ | ∉ | ∉ | |
| ∋ | ∋ | ∋ | ∋ | |
| ∏ | ∏ | ∏ | ∏ | |
| ∑ | ∑ | ∑ | ∑ | |
| − | − | − | − | |
| ∗ | ∗ | ∗ | ∗ | |
| √ | √ | √ | √ | |
| ∝ | ∝ | ∝ | ∝ | |
| ∞ | ∞ | ∞ | ∞ | |
| ∠ | ∠ | ∠ | ∠ | |
| ∧ | ∧ | ∧ | ∧ | |
| ∨ | ∨ | ∨ | ∨ | |
| ∩ | ∩ | ∩ | ∩ | |
| ∪ | ∪ | ∪ | ∪ | |
| ∫ | ∫ | ∫ | ∫ | |
| ∴ | ∴ | ∴ | ∴ | |
| ∼ | ∼ | ∼ | ∼ | |
| ≅ | ≅ | ≅ | ≅ | |
| ≈ | ≈ | ≈ | ≈ | |
| ≠ | ≠ | ≠ | ≠ | |
| ≡ | ≡ | ≡ | ≡ | |
| ≤ | ≤ | ≤ | ≤ | |
| ≥ | ≥ | ≥ | ≥ | |
| ⊂ | ⊂ | ⊂ | ⊂ | |
| ⊃ | ⊃ | ⊃ | ⊃ | |
| ⊄ | ⊄ | ⊄ | ⊄ | |
| ⊆ | ⊆ | ⊆ | ⊆ | |
| ⊇ | ⊇ | ⊇ | ⊇ | |
| ⊕ | ⊕ | ⊕ | ⊕ | |
| ⊗ | ⊗ | ⊗ | ⊗ | |
| ⊥ | ⊥ | ⊥ | ⊥ | |
| ⋅ | ⋅ | ⋅ | ⋅ | |
| ⌈ | ⌈ | ⌈ | ⌈ | |
| ⌉ | ⌉ | ⌉ | ⌉ | |
| ⌊ | ⌊ | ⌊ | ⌊ | |
| ⌋ | ⌋ | ⌋ | ⌋ | |
| ⟨ | ⟨ | ⟨ | ⟨ | |
| ⟩ | ⟩ | ⟩ | ⟩ | |
| ◊ | ◊ | ◊ | ◊ | |
| ♠ | ♠ | ♠ | ♠ | |
| ♣ | ♣ | ♣ | ♣ | |
| ♥ | ♥ | ♥ | ♥ | |
| ♦ | ♦ | ♦ | ♦ |
253 de 253 entidades. Caracteres invisíveis (espaços, junções, hífen opcional) aparecem como ·.
Funciona totalmente no seu navegador. Nada do que você digita é enviado para nós nem armazenado. Ver todas as ferramentas grátis.
Encontrou um problema ou algo que poderia ser melhor? Lemos todas as mensagens e corrigimos rápido.
Este codificador e decodificador de entidades HTML converte caracteres em referências de caractere HTML e vice-versa. A codificação transforma os cinco caracteres com significado especial na marcação (< > & " ') em < > & " e ', para que o texto possa ser exibido numa página ou colocado num atributo sem ser lido como HTML. Você também pode codificar todos os caracteres não ASCII, o que ajuda quando um template, um e-mail ou um sistema legado estraga o UTF-8.
A decodificação lida com entidades nomeadas como é e …, referências decimais como é e referências hexadecimais como é, seguindo as regras do próprio parser do HTML5, inclusive suas peculiaridades com code points inválidos. Nomes que não estão na tabela embutida de 253 entradas são consultados no parser HTML do seu navegador, então todos os mais de 2.000 nomes do HTML5 são decodificados. Nomes desconhecidos ficam como estão e são listados, em vez de sumirem em silêncio. Esta ferramenta converte texto; ela não é um sanitizador de HTML.
Como usar
- Escolha Codificar ou Decodificar.
- Para codificar, escolha o escopo: só os cinco caracteres inseguros (o suficiente para HTML comum), todos os não ASCII ou tudo exceto letras, dígitos e espaços.
- Escolha referências nomeadas, decimais ou hexa. O modo nomeado usa decimal para caracteres sem nome.
- Digite ou cole; a saída é atualizada enquanto você digita. Inverter manda a saída de volta para a entrada, para conferir a ida e volta.
- Pesquise na tabela de referência por nome, caractere, código decimal ou grupo (por exemplo “arrow” ou “greek”; os nomes dos grupos estão em inglês) e copie uma entidade.
Perguntas frequentes
Quais caracteres precisam ser escapados em HTML?
No conteúdo de texto, < e & precisam ser escapados, porque iniciam tags e entidades. Dentro do valor de um atributo, escape também o caractere de aspas que delimita o atributo: " como " ou ' como '. Escapar > como > não é estritamente obrigatório, mas é convencional e inofensivo. Todo o resto, incluindo letras acentuadas e emojis, pode aparecer como está numa página UTF-8.
Qual é a diferença entre e um espaço normal?
é o U+00A0, um espaço não separável. Os navegadores não quebram a linha nele e não juntam vários deles em um só, ao contrário dos espaços comuns. É útil para manter “10 kg” ou “Sr. Silva” juntos na mesma linha. Usar sequências de para fazer layout é sinal de que esse trabalho é do CSS.
Devo usar ' ou '?
' é definido no XML e no HTML5, mas não no HTML 4, então navegadores muito antigos e alguns clientes de e-mail não o reconhecem. ' funciona em todo lugar, e é por isso que este codificador o usa para o apóstrofo mesmo no modo nomeado. Numa página HTML5 moderna, qualquer um serve.
Codificar HTML basta para evitar XSS?
Escapar < > & " ' impede injeção no texto HTML e em valores de atributo entre aspas, o que cobre o caso mais comum. Isso não torna um valor seguro dentro de um bloco <script>, de um atributo style, de um atributo sem aspas ou de uma URL como href="javascript:...". Cada um desses contextos precisa de codificação ou validação própria. Use um template engine que escape por padrão e um sanitizador como o DOMPurify quando precisar aceitar HTML do usuário.
Por que aparece &amp; ou é no meu texto?
&amp; significa que o texto foi codificado em HTML duas vezes: & virou & e depois esse & foi codificado de novo. Decodifique uma vez para cada camada extra. Já é no lugar de é não é problema de entidade, e sim de codificação incompatível: bytes UTF-8 foram lidos como Windows-1252 ou Latin-1. Corrija a declaração de charset ou a codificação da conexão com o banco de dados; entidades só escondem o sintoma.
Referências nomeadas, decimais e hexadecimais
O HTML oferece três formas de escrever o mesmo caractere. Uma referência nomeada como © é legível, mas só existe para os caracteres aos quais o HTML define um nome. Uma referência decimal como © e uma hexadecimal como © funcionam para qualquer code point Unicode, inclusive emojis: 🌲 é 🌲 ou 🌲, uma única referência para o caractere inteiro, e não duas para suas metades UTF-16.
Os 253 nomes da tabela desta ferramenta são o conjunto do HTML 4 mais '. Eles são suportados por todo navegador, cliente de e-mail e biblioteca HTML. O HTML5 acrescentou cerca de 2.000 outros, a maioria símbolos matemáticos (≂̸, ⨂), que são decodificados em navegadores modernos, mas é melhor escrevê-los como UTF-8 puro ou referências numéricas se ferramentas mais antigas forem mexer no conteúdo.
Os nomes diferenciam maiúsculas de minúsculas: É é É e é é é. Alguns poucos, como © e &, também existem em maiúsculas por motivos históricos, mas as formas em minúsculas são as padrão.
Quando codificar e quando não codificar
• Exibir entrada do usuário numa página: escape os cinco caracteres inseguros na hora da saída, no template, e não ao salvar no banco de dados.
• Exemplos de código num post de blog ou documentação: escape < e & para que as tags apareçam como texto.
• Templates de e-mail e sistemas legados com UTF-8 pouco confiável: codificar todos os não ASCII como referências numéricas faz o conteúdo sobreviver a qualquer charset.
• Páginas UTF-8 modernas: não codifique letras acentuadas, aspas curvas nem emojis. Caracteres puros ocupam menos, são pesquisáveis e mais fáceis de editar.
• JSON, URLs e strings JavaScript: entidades HTML não significam nada ali. Use, respectivamente, escape de JSON, codificação percentual ou escapes de string do JavaScript.
Como as referências numéricas são decodificadas
A especificação do HTML5 define o que um parser deve fazer com referências numéricas estranhas, e este decodificador a segue. �, referências a code points substitutos (�) e valores acima de U+10FFFF viram o caractere de substituição U+FFFD. Referências entre € e Ÿ são lidas como Windows-1252, então – é um travessão meia-risca (en dash) e € é o símbolo do euro, porque era isso que as páginas antigas queriam dizer ao escrevê-las.
Referências nomeadas só são decodificadas quando terminam em ponto e vírgula. Os navegadores também aceitam no texto alguns nomes legados sem ele, como © ou &, mas esse comportamento depende do que vem depois, então o conteúdo deve sempre incluir o ponto e vírgula.
Ferramentas grátis relacionadas
- Codificador / decodificador de URL — Codifique ou decodifique texto para URLs com codificação percentual nos modos componente, URL completa ou formulário, e edite os parâmetros de consulta de uma URL em uma tabela.
- Codificador / decodificador Base64 — Codifique texto ou arquivos em Base64, transforme imagens em data URIs com trechos de CSS e <img>, e decodifique Base64 de volta em um arquivo com pré-visualização. Nada sai do seu navegador.
- Gerador de meta tags — Preencha o título, a descrição e os dados do card social de uma página e receba um bloco <head> completo, com escape correto e contadores de tamanho em tempo real.
- Formatador de JSON — Formate, minifique e valide JSON, com erros de parsing localizados por linha e coluna. No seu navegador, sem upload.