Ferramentas / Codificador e decodificador de HTML entities

Codificador e decodificador de HTML entities

Converta caracteres especiais em entidades HTML (como <) e decodifique entidades de volta para texto.

Processamento local: nada do que você digita sai do seu navegador.

Como usar

Escolha Codificar para transformar &, <, > e aspas em entidades, ou Decodificar para fazer o caminho inverso. Marque a opção de acentos e símbolos para converter também letras como é em &eacute;.

Por que escapar HTML

Escapar os caracteres especiais evita que texto digitado por usuários seja interpretado como HTML, uma defesa básica contra XSS. As entidades aceitas na decodificação incluem as nomeadas mais comuns (acentos do português e símbolos) e as numéricas decimais e hexadecimais.

Como implementar em código

Exemplos prontos para usar no seu projeto.

// Codificar os 5 caracteres essenciais
const codificar = (s) => s
  .replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;')
  .replace(/"/g, '&quot;').replace(/'/g, '&#39;');

// Decodificar (no navegador): o parser do DOM resolve todas as entidades
const decodificar = (s) =>
  new DOMParser().parseFromString(s, 'text/html').documentElement.textContent;

console.log(codificar('<b>Tom & Jerry</b>')); // &lt;b&gt;Tom &amp; Jerry&lt;/b&gt;
import html

print(html.escape("<b>Tom & Jerry</b>"))        # &lt;b&gt;Tom &amp; Jerry&lt;/b&gt;
print(html.unescape("caf&eacute; &#169; &lt;"))  # café © <
package main

import (
	"fmt"
	"html"
)

func main() {
	fmt.Println(html.EscapeString("<b>Tom & Jerry</b>"))
	fmt.Println(html.UnescapeString("caf&eacute; &#169; &lt;")) // café © <
}
import 'dart:convert';

void main() {
  // Codificar: HtmlEscape escapa & < > " ' /
  print(const HtmlEscape().convert('<b>Tom & Jerry</b>'));
  // Decodificar entidades: use o pacote html_unescape
  // import 'package:html_unescape/html_unescape.dart';
  // HtmlUnescape().convert('caf&eacute; &#169;');
}
// Maven: org.apache.commons:commons-text
import org.apache.commons.text.StringEscapeUtils;

public class Entidades {
    public static void main(String[] args) {
        System.out.println(StringEscapeUtils.escapeHtml4("<b>Tom & Jerry</b>"));
        System.out.println(StringEscapeUtils.unescapeHtml4("caf&eacute; &#169; &lt;"));
    }
}
<?php
// Codificar (use sempre ENT_QUOTES e UTF-8)
echo htmlspecialchars('<b>Tom & Jerry</b>', ENT_QUOTES, 'UTF-8');

// Decodificar
echo html_entity_decode('caf&eacute; &#169; &lt;', ENT_QUOTES, 'UTF-8');
using System;
using System.Net;

Console.WriteLine(WebUtility.HtmlEncode("<b>Tom & Jerry</b>"));
Console.WriteLine(WebUtility.HtmlDecode("caf&eacute; &#169; &lt;")); // café © <

Perguntas frequentes

Qual a diferença entre &eacute; e &#233;?

São o mesmo caractere (é). A primeira é a entidade nomeada e a segunda é a numérica, pelo código Unicode.

Preciso converter acentos em entidades?

Normalmente não. Com a página em UTF-8, acentos funcionam direto. A conversão só é útil em ambientes que não suportam UTF-8.

Entidades desconhecidas são alteradas?

Não. Se uma entidade não for reconhecida, ela é mantida como está.

Veja também

Precisa de um sistema ou app sob medida?

A VcInova desenvolve software, aplicativos e integrações para empresas de todo o Brasil.

Fale com a VcInova