lycos.

Encoder et décoder les entités HTML.

Échappez les caractères qui ont un sens en HTML pour les afficher comme du texte, ou retrouvez le texte lisible derrière é et €.

Vérifié le 11 octobre 2026Gratuit, sans inscription

Le calcul se fait dans votre navigateur : rien de ce que vous saisissez n'est envoyé à Lycos.

Pourquoi encoder en entités

Dans une page HTML, cinq caractères ont un rôle : < et > ouvrent et ferment les balises, & commence une entité, " et ' délimitent la valeur d'un attribut. Pour afficher ces caractères comme du texte, on les remplace par une entité : un code qui commence par & et finit par un point-virgule. C'est indispensable dès qu'on affiche un texte saisi par quelqu'un d'autre : sans échappement, un commentaire contenant une balise serait exécuté comme du code, ce qu'on appelle une injection de script (XSS).

Nommée&eacute;
Décimale&#233;
Hexadécimale&#xE9;

Les trois formes désignent le même caractère, « é ». La forme numérique donne le point de code Unicode du caractère, en décimal ou en hexadécimal : elle existe pour tous les caractères, emojis compris. La forme nommée est plus lisible mais n'existe que pour une partie d'entre eux.

Les entités les plus courantes

CaractèreNomméeNumérique
&&amp;&#38;
<&lt;&#60;
>&gt;&#62;
"&quot;&#34;
é&eacute;&#233;
€&euro;&#8364;
«&laquo;&#171;
—&mdash;&#8212;
©&copy;&#169;

Pour l'apostrophe, l'outil écrit la forme numérique &#39; plutôt que &apos; (un choix de l'outil). Les emojis n'ont pas de nom : ils sont toujours encodés en numérique.

Trois exemples

Un lien à afficher dans un tutoriel

<a href="?a=1&b=2"> devient &lt;a href=&quot;?a=1&amp;b=2&quot;&gt; : le navigateur affiche le code au lieu de créer un lien.

Un texte accentué en entités nommées

Avec « Aussi les caractères non ASCII », « Noël à 20 € » devient No&euml;l &agrave; 20 &euro;.

Un emoji en entité numérique

« 😀 » a le point de code U+1F600 : &#128512; en décimal, &#x1F600; en hexadécimal. Une seule entité, alors que l'emoji occupe quatre octets en UTF-8.

Faut-il encoder les accents ?

Pas dans une page enregistrée et servie en UTF-8, ce qui est le cas de presque tout le web aujourd'hui : « é » peut s'écrire tel quel. Seuls les cinq caractères sensibles doivent toujours être échappés, et c'est le réglage par défaut de l'outil.

Encoder aussi les caractères non ASCII sert quand le fichier passe par un système qui abîme les accents : un ancien gestionnaire de contenu, un modèle d'e-mail, un fichier dont on ne connaît pas l'encodage. Le texte ne contient alors plus que de l'ASCII, et s'affiche juste quel que soit l'encodage.

Le décodage

L'outil décode toutes les entités numériques, décimales ou hexadécimales, et 148 entités nommées courantes : celles du latin-1 (accents, symboles, fractions), la typographie (tirets, guillemets, points de suspension), l'euro, les flèches et quelques symboles. Le HTML en définit bien d'autres : une entité nommée absente de la table est laissée telle quelle et signalée. Le point-virgule final est exigé.

Le piège des anciens textes : &#150;

Les codes 128 à 159 ne désignent pas de caractères visibles en Unicode, mais d'anciens outils y plaçaient les tirets et guillemets de Windows. Les navigateurs les lisent donc comme ceux de l'encodage Windows-1252, et l'outil fait de même : &#150; donne « – » et &#128; donne « € ».

Questions fréquentes

Quels caractères faut-il échapper en HTML ?

Cinq : & (en &amp;), < (en &lt;), > (en &gt;), les guillemets doubles (en &quot;) et l'apostrophe (en &#39;). Les deux derniers comptent surtout dans la valeur d'un attribut. C'est le réglage par défaut de l'outil.

Quelle différence entre &eacute; et &#233; ?

Aucune à l'affichage : les deux donnent é. La première est une entité nommée, plus lisible ; la seconde une entité numérique, qui donne le point de code Unicode (233, ou E9 en hexadécimal avec &#xE9;). Tous les caractères ont une forme numérique, seuls certains ont un nom.

Faut-il encoder les accents en HTML ?

Non, si la page est en UTF-8 : les accents s'écrivent tels quels. L'encodage de tous les caractères non ASCII sert quand le texte traverse un système qui ne gère pas bien les accents, comme certains modèles d'e-mail.

Comment écrire un emoji en entité HTML ?

Avec son point de code : 😀 est U+1F600, soit &#128512; en décimal ou &#x1F600; en hexadécimal. Les emojis n'ont pas d'entité nommée.

Pourquoi une entité n'est-elle pas décodée ?

Soit il manque le point-virgule final, que l'outil exige, soit c'est une entité nommée rare absente de sa table : elle est alors laissée telle quelle et signalée sous le résultat. Les entités numériques sont toujours décodées.

Une erreur ? Signalez-la, nous la corrigeons.