Encodeur d'entités HTML

Encodez ou décodez les caractères spéciaux HTML (&, <, >, "...).

Résultat

Entités courantes

  • &amp; → &
  • &lt; → <
  • &gt; → >
  • &quot; → "
  • &apos; → '
  • &nbsp; → espace insécable

Pourquoi encoder les caractères HTML ?

En HTML, certains caractères ont un sens réservé : < et > délimitent les balises, & introduit une entité, les guillemets bornent les attributs. Pour afficher ces caractères au lieu de les faire interpréter, il faut les remplacer par leur entité : &lt;, &gt;, &amp;, &quot;. C'est indispensable dans deux situations : montrer du code source dans une page (tutoriels, documentation), et surtout neutraliser du contenu saisi par un utilisateur avant de l'injecter dans une page — c'est la défense de base contre les attaques XSS (cross-site scripting), où un visiteur malveillant tente d'injecter un <script> dans un commentaire ou un formulaire.

FAQ

Entités nommées ou numériques : lesquelles choisir ?
Les deux sont équivalentes : &eacute; et &#233; produisent « é ». Les nommées sont plus lisibles, les numériques couvrent tout Unicode. Avec un document déclaré en UTF-8, seuls <, >, & et les guillemets ont réellement besoin d'être encodés.
Encoder du HTML suffit-il à sécuriser mon site ?
C'est nécessaire mais pas toujours suffisant : l'encodage à appliquer dépend du contexte d'injection (corps HTML, attribut, JavaScript, URL). Pour les URL, utilisez notre encodeur URL.
Mon texte est-il envoyé sur un serveur ?
Non, la conversion se fait entièrement dans votre navigateur.