Développeur

Entités HTML

Encodez et décodez les entités HTML, nommées ou numériques.

  • Instantané
  • Gratuit
  • Privé (traité localement)
  • Sans inscription
Résultat

Afficher du code dans une page sans tout casser

Pour montrer <div> sur une page web, il faut l’encoder, sinon le navigateur croit à une vraie balise. Cet outil encode les caractères spéciaux en entités HTML et fait l’inverse pour lire un contenu déjà encodé.

  1. Collez le texte

    Du code, des symboles, des accents — peu importe.

  2. Encodez ou décodez

    Et choisissez entités nommées (lisibles) ou numériques (universelles).

  3. Copiez

    Le résultat est prêt à coller dans votre HTML.

Les cinq entités à toujours connaître

CaractèreNomméeNumérique
&&&
<<<
>>>
"""
'''

Encoder ces cinq caractères dans tout contenu inséré dans une page est la première défense contre les injections XSS. Le décodage ici est sûr : il n’exécute jamais le HTML.

Questions fréquentes

Entités nommées ou numériques, lesquelles choisir ?

Les nommées (&amp;, &copy;) sont lisibles ; les numériques (&#38;, &#169;) marchent toujours, même pour des caractères sans nom défini. Pour la compatibilité maximale et les caractères rares, les numériques sont plus sûres. Décochez l’option pour tout encoder en numérique.

Quels caractères faut-il absolument encoder ?

Les cinq « réservés » de HTML : & (&amp;), < (&lt;), > (&gt;), " (&quot;) et ' (&#39;). Les oublier permet l’injection de balises ou la casse de l’affichage. Le reste (accents, symboles) est facultatif si votre page est en UTF-8.

Le décodage est-il sûr ?

Oui : le décodage utilise textarea.value, qui résout les entités sans jamais exécuter de HTML ni de script. Vous pouvez décoder du contenu inconnu sans risque d’exécution.

Pourquoi &nbsp; n’apparaît-il pas comme un espace ?

L’espace insécable (&nbsp;, U+00A0) ressemble à un espace mais n’en est pas un : il empêche le retour à la ligne et fusionne souvent mal dans le code. L’encodeur le rend visible en &nbsp; pour que vous repériez ces espaces traîtres.