acento.io
Utilitário de texto

Codificador de entidades HTML

Encode e decode entidades HTML instantaneamente — 100% no navegador, sem uploads, sem rastreamento.

Por Carlos Suárez , Engenheiro de sistemas
Última atualização:

O que este codificador de entidades HTML faz

Esta versão em português do codificador de entidades HTML converte caracteres especiais em entidades seguras para uso em HTML — e faz o caminho inverso. No modo encode, o &, <, >, " e ' são escapados; você também pode codificar todos os caracteres não-ASCII como entidades numéricas, útil quando o encoding do servidor não é confiável. No modo decode, entidades nomeadas como &amp;, &copy; e &nbsp;, decimais como &#160; e hexadecimais como &#xA0; são convertidas de volta ao texto legível. Vale lembrar: caracteres acentuados como 'ã' e 'õ' ocupam dois bytes em UTF-8 — uma fonte clássica de bugs em parsers antigos. Todo o processamento acontece localmente: 100% no navegador — seus dados nunca saem do seu computador. Sem uploads, sem rastreamento, sem logs em servidor.

Recursos

  • Escape dos caracteres críticos. Codifica &, <, >, " e ' nas entidades nomeadas correspondentes, prevenindo injeção de HTML em templates e e-mails.
  • Modo encode não-ASCII completo. Converte qualquer caractere fora do intervalo ASCII em entidade numérica decimal, garantindo compatibilidade com clientes de e-mail e parsers mais antigos.
  • Decode de entidades nomeadas, decimais e hex. Reconhece o conjunto de entidades nomeadas mais usadas (como &nbsp;, &copy;, &eacute;), além de todas as formas numéricas &#NNN; e &#xNNN;.
  • Aviso honesto sobre escopo. O HTML5 define cerca de 2.000 entidades nomeadas; incluir todas aumentaria o bundle sem benefício real para 99% dos casos. Esta ferramenta cobre o subconjunto que realmente importa.
  • Privacidade total. Nenhum byte do seu HTML é enviado a um servidor. O processamento é feito inteiramente no seu navegador — sem logs, sem analytics de conteúdo, sem cookies de rastreamento.
  • Cópia com um clique. O botão Copiar transfere o resultado para a área de transferência sem precisar selecionar o texto manualmente, agilizando o fluxo de trabalho.

Como usar o codificador de entidades HTML

Cole o conteúdo no campo de entrada, escolha o modo e copie o resultado. Nenhuma instalação necessária.

  1. Cole o texto ou HTML. Insira o conteúdo que deseja processar. Por exemplo: <p>Café & jalapeño — preço: R$ 12,90</p>.
  2. Escolha o modo. Selecione **Codificar** para escapar os caracteres especiais ou **Decodificar** para reverter entidades ao texto original.
  3. Ative a opção não-ASCII se necessário. Para templates de e-mail ou ambientes onde o encoding é incerto, marque **Codificar todos os não-ASCII** — isso converte 'ã' em &#227;, por exemplo.
  4. Copie o resultado. Clique em **Copiar** e cole diretamente no seu template, arquivo de configuração ou documentação técnica.

Casos de uso comuns

  • Templates HTML com entrada de usuário. Antes de inserir texto fornecido por usuários em templates, encode as entidades para evitar quebras de layout ou injeção de marcação indesejada — prática essencial em sistemas de conteúdo dinâmico.
  • Extração de texto de HTML raspado. Ao fazer scraping via fetch de páginas em Recife ou qualquer outro domínio, o HTML retornado costuma conter entidades. O decode transforma &amp;, &#8211; e similares em texto limpo para processamento. Se precisar comparar versões do HTML antes e depois da limpeza, o [comparador de textos](/pt/text-diff/) pode ajudar.
  • Documentação técnica com exemplos de markup. Escrever artigos que mostram código HTML requer escapar as tags para que o navegador não as interprete. Este codificador acelera esse passo repetitivo.
  • E-mails HTML transacionais. Clientes de e-mail corporativos frequentemente têm suporte limitado a Unicode. Codificar todos os não-ASCII como entidades numéricas garante que acentos e símbolos apareçam corretamente — inclusive em fusos como America/Sao_Paulo onde sistemas legados ainda circulam.
  • Geração de slugs e metadados. Antes de gerar um slug a partir de um título com acentos, você pode decodificar entidades remanescentes do CMS. Para o passo seguinte, o [gerador de slug](/pt/slugify/) complementa bem esse fluxo.

Perguntas frequentes

Meus dados são enviados para algum servidor?

Não. Todo o processamento ocorre no seu navegador via JavaScript. Nenhum caractere do seu HTML é transmitido — não há servidor envolvido, nem logs, nem cookies de rastreamento de conteúdo.

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

Entidades nomeadas como &amp; ou &copy; são atalhos legíveis definidos pela especificação HTML. Entidades numéricas — decimais &#169; ou hexadecimais &#xA9; — representam o ponto de código Unicode diretamente e funcionam em qualquer contexto HTML, inclusive quando a entidade nomeada não existe ou não é suportada pelo parser.

Por que `&apos;` nem sempre funciona?

&apos; foi introduzido no XHTML e formalizado no HTML5, mas não existe no HTML4. Para máxima compatibilidade, use a forma numérica &#39; quando precisar representar uma aspa simples em atributos HTML.

É necessário codificar todo o texto não-ASCII?

Não, se o documento declarar charset=UTF-8 corretamente — o que é o padrão desde o MDN — Date até frameworks modernos. A codificação de não-ASCII só é indispensável em ambientes legados ou clientes de e-mail com suporte Unicode limitado.

Como o HTML5 lida com entidades sem ponto-e-vírgula?

Os navegadores são tolerantes e interpretam muitas entidades mesmo sem o ; final, mas a especificação exige o ponto-e-vírgula. Parsers mais rígidos — como os usados em pipelines XML ou ferramentas de lint — rejeitam entidades malformadas. Sempre inclua o ; para garantir conformidade. Para mais detalhes sobre parsing e serialização, consulte o MDN — JSON.parse como referência de comportamento de parsers da plataforma web.

Esta ferramenta cobre todas as ~2.000 entidades do HTML5?

Cobre o subconjunto amplamente utilizado de entidades nomeadas mais todas as formas numéricas, que representam virtualmente 100% dos casos reais. Incluir a lista completa do HTML5 aumentaria o bundle sem benefício prático para a grande maioria dos desenvolvedores.