Skip to content
Encodeur / Décodeur d’entités HTML
Tools

Encodeur / Décodeur d’entités HTML

Nouveau

Échappez et déséchappez les entités HTML, avec encodage numérique en option.

Mode
Encode
Output

HTML entities reference

Punctuation, arrows, currency, maths and Greek — click any code to copy it.

Symbol Named Decimal Hex
Punctuation & quotes
Arrows
Currency
Maths & technical
Greek letters
Symbols
Copied

Runs entirely in your browser. Nothing is uploaded.

Encoder et décoder des entités HTML en ligne

Cet outil d'entités HTML réunit trois fonctions en un seul endroit : il encode du texte en entités HTML, décode des entités en texte lisible et met à votre disposition une liste d'entités HTML consultable que vous pouvez copier directement. Saisissez ou collez votre texte dans le panneau de gauche et le résultat converti s'affiche en temps réel à droite — basculez entre encoder et décoder, inversez les deux panneaux et copiez la sortie en un seul clic.

Tout s'exécute localement dans votre navigateur : le texte que vous convertissez n'est jamais envoyé sur aucun serveur. Rien à installer, aucun compte à créer, aucune limite d'utilisation. Rechargez la page sans connexion et l'outil fonctionne toujours — car aucun appel serveur n'a lieu à aucun moment.

Ce que sont les entités HTML et pourquoi elles sont importantes

Une entité HTML est un code court qui représente un caractère. Elle commence toujours par une esperluette et se termine par un point-virgule — par exemple &amp; représente une esperluette et &nbsp; représente une espace insécable. Les entités existent pour deux raisons. Premièrement, certains caractères sont réservés en HTML : un <, > ou & brut peut être interprété comme du balisage et casser votre page, il faut donc les écrire respectivement &lt;, &gt; et &amp;.

Deuxièmement, les entités permettent d'inclure des caractères spéciaux — accents, signes monétaires, symboles mathématiques et flèches — qui peuvent être difficiles à saisir ou risquent de ne pas survivre à un changement d'encodage de texte. L'échappement des caractères réservés empêche précisément qu'un < parasite casse une mise en page ou qu'une saisie utilisateur se transforme en balise indésirable. C'est un fondement de la sécurité web et la raison pour laquelle l'assainissement des entrées utilisateur passe toujours par l'encodage des entités HTML.

Entités nommées, décimales et hexadécimales

Chaque caractère peut s'écrire de trois façons. Une entité nommée utilise un mot-clé lisible — &copy; pour le signe copyright ©. Une entité numérique décimale utilise le point de code Unicode du caractère en base 10 — &#169;. Une entité hexadécimale utilise la base 16 — &#xA9;. Les trois produisent le même ©.

Les entités nommées sont les plus lisibles, mais seuls environ 2 200 caractères possèdent un nom HTML5. HTML4 n'en définissait qu'une centaine environ. La norme élargie des références de caractères nommés HTML5 en a ajouté des centaines — opérateurs mathématiques, flèches et symboles typographiques qui n'étaient pas disponibles auparavant. Les entités numériques (décimales ou hexadécimales) couvrent tous les caractères Unicode, y compris les emoji. Lors de l'encodage, choisissez la forme de sortie adaptée à votre contexte : nommée pour la lisibilité dans le code source, décimale ou hexadécimale pour garantir un code pour n'importe quel caractère.

Une liste d'entités HTML consultable — flèches, symboles et plus

Sous le convertisseur se trouve une liste d'entités HTML complète et groupée couvrant la ponctuation, les flèches, les devises, les mathématiques et les lettres grecques. Recherchez par nom, symbole ou numéro — tapez « flèche » pour trouver &rarr; (→), « euro » pour &euro; (€) ou « 38 » pour l'esperluette — puis cliquez sur n'importe quelle cellule pour copier le symbole, l'entité nommée, le code décimal ou le code hexadécimal.

C'est le moyen le plus rapide d'obtenir les bons codes de caractères HTML sans les mémoriser ni fouiller dans une page de référence statique. La liste couvre la norme complète de référence de caractères nommés HTML5 — plus de 2 200 entrées — bien plus que les quelque 255 entités de W3Schools ou les tableaux partiels HTML4 de FreeFormatter. Si vous travaillez régulièrement avec des notations mathématiques, des symboles typographiques ou des caractères latins étendus, vous les trouverez tous ici.

Comparaison avec FreeFormatter, W3Schools et MDN

La plupart des ressources sur les entités HTML sont des pages de référence statiques. W3Schools, la référence de caractères MDN et FreeFormatter.com listent toutes des entités que vous pouvez consulter manuellement. Aucune d'elles ne vous permet de coller un bloc de texte pour l'encoder ou le décoder en une seule opération. L'encodeur d'entités de FreeFormatter est l'alternative la plus proche, mais il envoie votre texte sur son serveur, nécessite une soumission de formulaire avec rechargement de page, et ne couvre que les entités HTML4.

Cet outil fait tout sur une seule page, instantanément, côté client : encodez un paragraphe, basculez sur décoder, puis recherchez dans la liste d'entités — le tout dans le même onglet sans aucun aller-retour réseau. Il couvre également l'ensemble complet des références de caractères nommés HTML5 et non seulement HTML4, ce qui est important pour le contenu moderne incluant des symboles typographiques, des flèches ou des notations mathématiques. Et comme tout s'exécute localement, vous pouvez encoder du contenu confidentiel — documents internes, gabarits d'e-mail, textes non publiés — sans qu'il atteigne jamais un serveur tiers.

Privé, instantané et gratuit — fonctionne aussi hors ligne

Chaque conversion — encodage, décodage ou copie depuis la liste d'entités — s'effectue localement dans votre navigateur via JavaScript, de sorte que même le balisage confidentiel ne quitte jamais votre appareil. Aucun serveur, aucune connexion, aucune limite de débit. L'outil fonctionne de la même façon que vous ayez une connexion rapide, lente ou aucune connexion du tout après le chargement initial de la page.

Comparez cela avec des outils comme FreeFormatter.com ou les validateurs HTML en ligne qui nécessitent une requête réseau pour chaque conversion. Pour les développeurs travaillant sur des projets clients ou des outils internes, exécuter l'encodage localement signifie que votre balisage n'atteint jamais un serveur tiers. Ajoutez ce convertisseur d'entités HTML à vos favoris comme référence de choix — pour échapper du HTML, rechercher des codes de caractères ou décoder du balisage encodé extrait d'un fichier source ou d'un vidage de base de données.

Frequently asked questions

Qu'est-ce qu'une entité HTML ?

Une entité HTML est un code court qui représente un caractère réservé en HTML ou difficile à saisir. Elle commence par une esperluette et se termine par un point-virgule — par exemple &amp; représente une esperluette (&), &lt; représente un signe inférieur (<) et &copy; représente le symbole de copyright (©). Elles permettent d'afficher littéralement un caractère au lieu qu'il soit interprété comme du balisage, et garantissent qu'un symbole s'affiche correctement même si l'encodage de la page ne le prend pas en charge. Vous les rencontrerez constamment en écrivant du HTML à la main ou en assainissant les saisies utilisateur dans des applications web.

Comment encoder du texte en entités HTML ?

Collez votre texte dans le panneau de gauche et laissez le mode sur Encoder. Choisissez les caractères à échapper — uniquement les caractères réservés (< > & " '), les réservés plus tous les caractères non-ASCII, ou tout — et si vous souhaitez une sortie nommée, décimale ou hexadécimale. Par exemple, avec l'option nommée, « Poisson & frites <3 » devient « Poisson &amp; frites &lt;3 ». Le résultat s'affiche instantanément à droite. Cliquez sur Copier et collez directement dans votre HTML. Tout se passe dans votre navigateur — aucun téléchargement de fichier, aucun compte requis, et aucune limite sur la quantité de texte à encoder.

Comment décoder des entités HTML en texte lisible ?

Passez le mode sur Décoder et collez le HTML encodé dans le panneau de gauche ; le texte lisible apparaît instantanément à droite. L'outil comprend les entités nommées, décimales et hexadécimales, donc &lt;div&gt; Tom &amp; Jerry &#169; se décode en <div> Tom & Jerry ©. Utilisez le bouton Inverser pour permuter les panneaux si vous souhaitez ré-encoder le résultat. Le décodeur gère les types d'entités mixtes dans une même chaîne — nommées, décimales et hexadécimales peuvent coexister et se décodent chacune correctement. L'encodeur d'entités de FreeFormatter.com nécessite une soumission de formulaire et un rechargement de page pour chaque conversion ; cet outil se met à jour en temps réel pendant que vous tapez.

À quoi servent &nbsp;, &amp;, &lt; et &gt; ?

Ce sont les quatre entités HTML les plus courantes. &amp; représente une esperluette (&), &lt; un signe inférieur (<), &gt; un signe supérieur (>), et &nbsp; une espace insécable — une espace qui empêche le navigateur de couper la ligne ou de fusionner les espaces, utile entre une valeur et son unité comme 10&nbsp;kg pour qu'ils ne se séparent jamais sur deux lignes. Vous devez échapper & en &amp; avant tout autre caractère, sinon &amp; lui-même peut être mal interprété comme le début d'une nouvelle entité et provoquer un double encodage.

Quelle est la différence entre les entités nommées, décimales et hexadécimales ?

Ce sont trois façons d'écrire le même caractère. Une entité nommée utilise un mot-clé mémorisable (&amp;) ; une entité numérique décimale utilise le point de code Unicode du caractère en base 10 (&#38;) ; une entité hexadécimale utilise la base 16 (&#x26;). Les trois produisent une esperluette. Les entités nommées sont les plus lisibles, mais seuls environ 2 200 caractères ont des noms, donc les entités numériques sont le recours pour tout le reste — y compris les emoji, où le visage souriant 😀 est &#128512;. En cas de doute, les entités nommées sont les plus sûres pour la lisibilité. La norme HTML5 a considérablement étendu la liste des entités nommées par rapport à HTML4 ; cet outil couvre l'ensemble complet HTML5 de plus de 2 200 références de caractères nommés.

Quels caractères doivent être échappés en HTML ?

Trois caractères ont une signification particulière dans le contenu d'une page et doivent toujours être échappés : & (&amp;), < (&lt;) et > (&gt;). Dans les valeurs d'attributs, vous devez également échapper " (&quot;) et ' (&#39;). Échappez l'esperluette en premier, sinon &amp; lui-même peut être mal interprété comme le début d'une entité et être doublement échappé. L'option « Réservés » du mode Encoder gère exactement ces cinq caractères et laisse le reste de votre texte intact — idéal pour assainir les saisies de formulaire ou la sortie d'un gabarit sans sur-encoder des caractères qui n'en ont pas besoin.

Quelle est l'entité HTML pour une flèche ou un symbole spécial ?

Les flèches courantes sont &larr; (←), &rarr; (→), &uarr; (↑), &darr; (↓) et &harr; (↔), avec les versions à double trait &lArr;, &rArr; et &hArr; (⇐ ⇒ ⇔). Pour tout autre symbole, utilisez la liste consultable ci-dessous — tapez « flèche », « cœur » ou « euro », puis cliquez sur le code nommé, décimal ou hexadécimal pour le copier. La liste complète couvre la ponctuation, les symboles mathématiques, les lettres grecques, les signes monétaires et des centaines de caractères spéciaux, mise à jour selon la norme de référence de caractères nommés HTML5. W3Schools ne liste qu'environ 255 entités ; cet outil en propose plus de 2 200.

Comment décoder des entités HTML en JavaScript ?

L'astuce classique côté navigateur consiste à laisser le DOM décoder à votre place : créez un textarea détaché, définissez son innerHTML avec la chaîne d'entités et lisez sa valeur. Par exemple : const el = document.createElement('textarea'); el.innerHTML = '&lt;b&gt; &amp; &#169;'; puis el.value retourne '<b> & ©'. Il n'existe pas de decodeHTMLEntities() natif en JavaScript pur, donc cette approche DOM — ou un petit utilitaire qui passe les jetons d'entités correspondants à un textarea pour que le balisage parasite ne puisse pas s'échapper — est le modèle standard. Cet outil procède exactement ainsi, ce qui le rend sûr à utiliser avec du balisage non fiable sans risque de faille XSS.

Pourquoi vois-je &amp; au lieu de & sur ma page ?

Il s'agit d'un double encodage. Le texte a été échappé une fois (transformant & en &amp;), puis échappé à nouveau (transformant le & de &amp; en &amp;amp;), généralement parce qu'un framework a auto-échappé une sortie déjà échappée. Cela est courant dans les CMS PHP et certains moteurs de gabarits qui échappent toutes les sorties par défaut — Twig, Smarty et certains hooks WordPress plus anciens font tous cela. Collez la valeur dans Décoder ici une fois pour confirmer le double encodage, puis assurez-vous que votre gabarit marque la valeur comme sûre ou ne l'échappe qu'une seule fois au moment de la sortie.

Comment insérer un ©, ™ ou un tiret cadratin en HTML ?

Utilisez &copy; pour ©, &reg; pour ®, &trade; pour ™ et &mdash; pour un tiret cadratin (—). Pour un tiret demi-cadratin utilisez &ndash; (–) et pour des points de suspension &hellip; (…). Vous pouvez aussi coller le symbole directement dans une page UTF-8, mais l'entité nommée est sans ambiguïté et résiste à un changement d'encodage. Sur une page UTF-8 (ce qui est pratiquement universel aujourd'hui), coller © directement fonctionne très bien. Les entités nommées restent le choix le plus sûr pour les e-mails HTML où les hypothèses d'encodage varient selon les clients de messagerie comme Outlook, Gmail ou Apple Mail.

Quelle est l'entité HTML pour une espace insécable ?

C'est &nbsp; (numérique &#160; ou &#xA0;). Une espace insécable maintient deux mots, ou une valeur et son unité, sur la même ligne et empêche le navigateur de fusionner les espaces répétées — par exemple M.&nbsp;Dupont ou 5&nbsp;km. N'en abusez pas pour la mise en page, cependant ; utilisez les marges ou le rembourrage CSS pour l'espacement à la place. Une erreur courante consiste à utiliser plusieurs entités &nbsp; pour indenter du texte ou créer des colonnes — c'est une mauvaise pratique qui se désintègre lorsque la page est redimensionnée ou lue par un lecteur d'écran, qui prononce « espace insécable » à voix haute pour chacune.

Les entités HTML sont-elles sensibles à la casse ?

Oui. Les entités nommées sont sensibles à la casse : &amp; fonctionne mais &Amp; ou &AMP; risquent de ne pas fonctionner, et &Sigma; (Σ) est un caractère entièrement différent de &sigma; (σ). Les entités numériques ne sont insensibles à la casse que pour le x optionnel d'une entité hexadécimale — &#xA9; et &#xa9; donnent tous les deux ©. En cas de doute, copiez le code exact depuis la liste de référence ici plutôt que de le taper de mémoire. Se tromper de casse sur une entité nommée affiche le code brut au lieu du symbole, ce qui est une source fréquente de bugs dans les gabarits HTML écrits à la main.

Comment cet outil se compare-t-il à FreeFormatter ou aux tableaux d'entités W3Schools ?

FreeFormatter.com et W3Schools proposent tous deux des tableaux de référence d'entités HTML statiques, mais vous ne pouvez que consulter des codes — vous ne pouvez pas encoder ou décoder votre propre texte. L'encodeur d'entités de FreeFormatter est l'alternative la plus proche, mais il nécessite une soumission de formulaire et un rechargement de page pour chaque conversion, et sa liste d'entités ne couvre que les entités nommées HTML4. W3Schools affiche environ 255 entités nommées. Cet outil couvre l'ensemble complet des références de caractères nommés HTML5 — plus de 2 200 entrées — et combine la référence consultable avec un encodeur et un décodeur en direct sur une seule page, se mettant à jour en temps réel pendant que vous tapez.

Cet outil fonctionne-t-il sur mobile (iPhone, Android) ?

Oui, l'encodeur, le décodeur et la liste d'entités fonctionnent tous entièrement sur les navigateurs mobiles, y compris Chrome sur Android et Safari sur iPhone. La mise en page s'adapte aux écrans plus petits avec les deux panneaux empilés verticalement. Un conseil pour mobile : appuyez longuement sur une cellule de la liste d'entités pour déclencher l'option de copie du navigateur si la copie en un clic ne se déclenche pas immédiatement. Aucune application à télécharger — l'outil fonctionne comme une page web standard dans tout navigateur mobile moderne. Aucune inscription, aucun compte, et aucune limite d'utilisation sur aucun appareil. Il fonctionne même hors ligne une fois la page chargée.