DevToolPal
FR

Encodeur et décodeur d'entités HTML

Échappez du texte en entités HTML comme < et é, ou décodez les entités en texte brut.

Traitement local, rien n'est envoyé

Options

Mode

Entrée

0 caractères · 0 B

Sortie

0 caractères · 0 B

À quoi ça sert

Les entités HTML sont des codes qui représentent des caractères, comme &lt; pour < et &eacute; pour é. Cet outil échappe du texte en entités pour l’afficher sans risque dans une page web, et décode les entités en texte brut, par exemple quand vous copiez du balisage depuis un CMS ou un modèle d’e-mail.

L’encodage utilise la liste HTML5 complète de plus de 2 000 références nommées, et le décodage comprend les références nommées, décimales (&#169;) et hexadécimales (&#xA9;) exactement comme un navigateur.

Mode d’emploi

  1. Collez du texte ou du HTML dans le champ Entrée, importez un fichier ou cliquez sur Exemple.
  2. Choisissez Encoder ou Décoder.
  3. Pour l’encodage, choisissez ce qu’il faut encoder :
    • Seulement & < > ” ’ : le minimum pour insérer du texte dans du HTML ou un attribut.
    • Plus non-ASCII, nommées : transforme aussi les caractères comme é, © et — en entités nommées, et tout caractère sans nom en référence numérique.
    • Plus non-ASCII, numériques : pareil, mais toujours en numérique (&#xe9;), ce qui est aussi du XML valide.
    • Tout ce qui a un nom : encode même la ponctuation comme . et /, utile quand un système supprime ces caractères.
  4. Copiez ou téléchargez le résultat. Utiliser comme entrée permet de le redécoder pour vérifier l’aller-retour.

Exemple

<p>Café & "crème brûlée"</p>

encodé avec seulement les caractères spéciaux devient

&lt;p&gt;Café &amp; &quot;crème brûlée&quot;&lt;/p&gt;

et avec les entités nommées pour le non-ASCII devient

&lt;p&gt;Caf&eacute; &amp; &quot;cr&egrave;me br&ucirc;l&eacute;e&quot;&lt;/p&gt;

Usages courants

Afficher un extrait de code sur un blog sans que le navigateur l’interprète, insérer du texte utilisateur dans un e-mail HTML, corriger du texte échappé deux fois comme &amp;amp; (décodez une fois), ou rendre un fichier sûr pour un système qui n’accepte que l’ASCII.

FAQ

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

Dans le texte, échappez & et <. Dans les valeurs d'attribut, échappez aussi le guillemet qui entoure la valeur. Échapper & < > " et ' partout, ce que fait cet outil par défaut, est toujours sûr.

› Faut-il utiliser des entités nommées ou numériques ?

Les deux fonctionnent dans tous les navigateurs modernes. Les entités nommées comme &eacute; sont plus lisibles ; les références numériques comme &#xe9; fonctionnent aussi en XML et dans les anciens parseurs qui ne connaissent que quelques noms. Avec une page en UTF-8, vous n'avez généralement pas besoin d'encoder les caractères non ASCII.

› Le décodage gère-t-il les entités sans point-virgule ?

Oui. Il suit la spécification HTML : les formes historiques comme &copy sans point-virgule sont décodées comme le ferait un navigateur. Les noms inconnus comme &foo; restent inchangés.

› L'échappement suffit-il à empêcher le XSS ?

L'échappement est la bonne défense pour du texte placé dans des éléments HTML et des attributs entre guillemets. Il ne rend pas une entrée non fiable sûre dans des blocs script ou style, des attributs de gestionnaires d'événements ou des URL, qui demandent un encodage propre à chaque contexte.