🌐 Web et technique

Encoder et décoder les entités HTML

Transformez les caractères spéciaux en entités HTML, ou décodez des entités nommées et numériques en texte lisible.

Jimenez JulienPar , éditeur de Floobits.com · mis à jour le

Entités courantes
CaractèreEntité nomméeEntité numérique
&&&
<&lt;&#60;
>&gt;&#62;
"&quot;&#34;
'&apos; (HTML5)&#39;
espace insécable&nbsp;&#160;
€&euro;&#8364;
©&copy;&#169;

À propos de cet outil

Une entité HTML est une suite de caractères commençant par une esperluette et finissant par un point-virgule, qui représente un caractère précis. Elle sert d'abord à échapper les cinq caractères que le langage HTML interprète : l'esperluette, les chevrons, les guillemets et l'apostrophe. Encoder ces caractères permet d'afficher du code dans une page sans qu'il soit exécuté, et limite les risques d'injection de contenu.

L'outil propose trois niveaux d'encodage : les caractères sensibles seulement, tous les caractères non ASCII (utile si le fichier n'est pas servi en UTF-8), ou la totalité du texte. Les entités peuvent être nommées, comme &eacute; ou &euro;, ou numériques en décimal ou en hexadécimal, ces dernières existant pour n'importe quel caractère Unicode.

Le décodage s'appuie sur la table des entités du navigateur, qui reconnaît les milliers de noms définis par la norme HTML ainsi que les références numériques. Le texte à décoder est traité comme du texte brut : aucune balise n'est interprétée ni exécutée.

Questions fréquentes

Pourquoi encoder les caractères spéciaux en HTML ?

Pour que le navigateur les affiche tels quels au lieu de les interpréter comme du balisage. C'est aussi une protection de base contre l'injection de scripts quand on affiche du texte saisi par un visiteur.

Quand utiliser une entité nommée plutôt que numérique ?

Les noms sont plus lisibles pour un humain, mais tous les caractères n'en ont pas. Les références numériques fonctionnent partout, pour tout caractère Unicode.

L'apostrophe devient &#39; : est-ce normal ?

Oui. L'entité nommée &apos; n'existait pas en HTML 4 et certains anciens navigateurs la comprennent mal. La forme numérique est la plus sûre.

Autres outils : Web et technique