Codificar e decodificar entidades HTML
Escape texto para HTML com entidades nomeadas, decimais ou hexadecimais, ou converta entidades como & e é de volta em caracteres.
Exemplos de código
Copie estes exemplos para o seu próprio projeto. Cada um usa apenas a biblioteca padrão da linguagem, por isso não há nada para instalar.
const text = '<p class="x">Tom & Jerry</p>'
const entities = { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }
console.log(text.replace(/[&<>"']/g, (char) => entities[char]))O que faz
Escapa texto para HTML e converte entidades HTML de volta em caracteres. Uma entidade escreve um caractere pelo nome (é), como número decimal (é) ou como número hexadecimal (é).
Como usar
- Digite ou cole texto, ou solte um arquivo de texto.
- Escolha Codificar ou Decodificar. Ao codificar, escolha se escapa só os caracteres que o HTML lê como marcação ou também todo caractere não ASCII, e se escreve nomes, números decimais ou hexadecimais.
- Copie ou baixe o resultado.
Exemplos
Escapar marcação:
<p class="x">Tom & Jerry</p> vira <p class="x">Tom & Jerry</p>. Com todo caractere não ASCII escapado, café © € vira café © €.
Bom saber
- Os caracteres que sempre precisam ser escapados em texto e atributos HTML são
&,<,>,"e'. - O apóstrofo é escrito
', porque o HTML 4 não tem nome para ele. A decodificação também lê'. - Caracteres sem nome, como emojis, são escritos como números, um por caractere.
- A tabela de nomes cobre as 252 entidades do HTML 4.01. Um nome fora dela fica como digitado ao decodificar.
O que é uma entidade HTML?
Uma entidade é uma forma de escrever um caractere em HTML sem digitá-lo: um nome como é ou um número como é (decimal) ou é (hex). Cinco caracteres devem ser escapados em texto e atributos porque o HTML os lê como marcação: & < > e as duas aspas.
Perguntas frequentes
Quais caracteres devo escapar?
Escape & e < no texto, e as aspas que envolvem um valor de atributo dentro dele. Escapar > e ambas as aspas em todo lugar é inofensivo e a escolha segura, que é o que Só marcação faz. Escapar assim a entrada de usuários é a primeira defesa contra marcação injetada.
Por que o apóstrofo vira ' e não um nome?
HTML 4 não tem entidade nomeada para o apóstrofo. ' existe em XML e HTML5, mas softwares antigos não o conhecem, então um número é a escolha segura. A decodificação aceita ambos.
Esta ferramenta envia meu texto para algum lugar?
Não. Tudo acontece no seu navegador. O que você digita nunca é enviado aos nossos servidores.