Encodage 🔒 Fonctionne dans votre navigateur — aucune donnée envoyée

Encodeur et décodeur d'entités HTML

Échappez un texte pour le HTML avec des entités nommées, décimales ou hexadécimales, ou décodez n'importe quelle entité HTML en texte brut.

Texte
Encodé

Encodeur et décodeur d'entités HTML - échapper et déséchapper du HTML

Collez un texte pour l'obtenir échappé pour le HTML, ou collez du HTML rempli d'entités pour retrouver le texte brut. L'encodage peut porter uniquement sur les cinq caractères qui cassent le HTML, sur tous les caractères non ASCII ou sur tout, écrits sous forme de noms, de nombres décimaux ou de nombres hexadécimaux. Le décodage reconnaît toutes les entités nommées de HTML5 ainsi que les entités numériques, car il utilise le même analyseur que celui avec lequel votre navigateur lit les pages web.

L'échappement compte dès qu'un texte entre dans du HTML : un commentaire affiché sur une page, un nom de produit dans un modèle, un exemple de code dans un article de blog. Sans échappement, un signe inférieur à égaré ouvre une balise et une esperluette ouvre une entité : la page affiche alors autre chose que ce qui a été écrit, ou pire, exécute quelque chose.

Mode d'emploi

  1. Choisissez Encoder ou Décoder.
  2. Saisissez ou collez le texte ; le résultat s'affiche pendant la saisie.
  3. Pour l'encodage, choisissez ce qu'il faut encoder et le réglage Écrire sous forme de : noms, décimal ou hexadécimal.
  4. Appuyez sur Copier, ou sur Inverser pour renvoyer le résultat dans l'autre sens.

Les cinq caractères qui comptent

CaractèreNomméeNumériquePourquoi l'échapper
&&&Ouvre toute entité
<&lt;&#60;Ouvre une balise
>&gt;&#62;Ferme une balise ; échappé par convention
"&quot;&#34;Termine une valeur d'attribut entre guillemets doubles
'aucune en HTML 4&#39;Termine une valeur d'attribut entre guillemets simples

N'encoder que ces cinq caractères, le réglage par défaut ici, correspond à ce que fait un moteur de modèles quand il échappe sa sortie : tout le reste, lettres accentuées et emoji compris, peut rester tel quel dans une page en UTF-8.

Quand encoder davantage

  • Tous les caractères non ASCII : pour un modèle d'e-mail ou un système qui n'est pas fiable en UTF-8, afin que é ou € survive à toute confusion d'encodage.
  • Tous les caractères : rarement utile ; le texte devient illisible dans le code source, ce qui sert parfois à masquer une adresse e-mail aux robots collecteurs simples.
  • Espaces insécables : cochez Encoder aussi les espaces insécables pour les rendre visibles dans le code source au lieu de les confondre avec des espaces ordinaires.

Noms ou nombres ?

Pour un navigateur, &eacute;, &#233; et &#xE9; désignent le même caractère. Les noms sont plus lisibles dans le code source, mais seuls certains caractères en ont un ; cet outil écrit les noms du jeu HTML 4, que tous les navigateurs et clients de messagerie comprennent, et se rabat sur les nombres pour le reste, comme les emoji. Les nombres hexadécimaux correspondent à la façon habituelle d'écrire les points de code Unicode, comme U+00E9.

Décoder en toute sécurité

Le décodage est effectué par l'analyseur HTML de votre navigateur dans une zone de texte détachée, où les balises ne sont que du texte. Un <script> collé ou une image avec un attribut onerror est donc affiché, jamais exécuté. Cela signifie aussi que le décodeur se comporte exactement comme une vraie page, y compris sa tolérance envers les anciennes entités écrites sans le point-virgule final.

Outils associés

Pour du texte destiné à une URL plutôt qu'à du HTML, utilisez l'encodeur d'URL. Pour des données binaires, utilisez l'encodeur Base64. Les pages de tâches ouvrent cet outil sur une tâche précise : échapper du HTML et décoder des entités HTML Pour écrire des titres et des descriptions échappés dans les balises meta et Open Graph, utilisez le générateur de balises meta.