Skip to content
Developpeur · Encodage

Encodeur / Décodeur d’entités HTML

Convertissez les caractères spéciaux en entités HTML et inversement — nommées, décimales ou hexadécimales. Aperçu rendu en direct. Rien n’est téléversé, rien n’est enregistré.

In-browser only HTML5 entity spec Sandboxed preview
Format
Sélectif
Entrée
Sortie encodée
Aperçu
sandbox=""
Essayer
Tout le traitement se déroule dans votre navigateur. Vos données ne quittent jamais votre appareil.

Guide

Comment encoder ou décoder des entités HTML

  1. 1
    Choisissez votre mode

    Basculez entre Encoder (caractères en entités) et Décoder (entités en caractères). Encoder est le mode par défaut.

  2. 2
    Collez ou tapez votre texte

    Saisissez du contenu dans le volet gauche. La conversion est automatique — aucun bouton n’est nécessaire.

  3. 3
    Sélectionnez un format d’entité

    En mode Encoder, choisissez Nommé, Décimal, Hexadécimal ou Tous les caractères.

  4. 4
    Vérifiez l’aperçu

    L’aperçu affiche la sortie décodée dans une iframe isolée — les scripts ne s’exécutent jamais.

  5. 5
    Copiez la sortie

    Cliquez sur Copier ou appuyez sur Ctrl+Shift+C. Un toast de confirmation apparaît pendant 1,5 seconde.

  6. 6
    Passez en plein écran

    Cliquez sur Plein écran ou appuyez sur F pour un espace de travail en trois colonnes.

Référence

Comparaison des formats d’entités HTML

Comparaison des formats d’entités HTML
CaractèreNomméDécimalHexUtiliser quand
< (inférieur)&lt;&#60;&#x3C;Toujours dans le contenu HTML
> (supérieur)&gt;&#62;&#x3E;Toujours dans le contenu HTML
& (esperluette)&amp;&#38;&#x26;Toujours — évite l’ambiguïté
" (guillemet double)&quot;&#34;&#x22;Dans les attributs entre guillemets
’ (apostrophe)&apos;&#39;&#x27;Dans les attributs entre apostrophes
© (copyright)&copy;&#169;&#xA9;Nommé pour la lisibilité
— (tiret cadratin)&mdash;&#8212;&#x2014;Nommé pour la lisibilité

Pièges

Erreurs fréquentes d’encodage HTML

  • Double encodage du contenu échappé

    Passer &amp;amp; à nouveau dans l’encodeur produit &amp;amp;amp;. Décodez d’abord, puis ré-encodez.

  • Encodage dans script ou style

    L’encodage d’entités s’applique aux noeuds de texte et aux attributs — pas au contenu des balises <script> ou <style>.

  • Utiliser &amp;apos; en HTML4

    &amp;apos; est valide en XML et HTML5 mais non défini en HTML4. Utilisez &#39; pour les anciens parseurs.

  • Oublier le point-virgule final

    Les entités nommées nécessitent un point-virgule (&amp;amp; pas &amp;amp). Sans lui, le comportement du navigateur varie.

Encodage des entités HTML — questions

Qu’est-ce qu’une entité HTML ?
Une entité HTML est une séquence de texte représentant un caractère qui serait autrement interprété comme du balisage. Elles commencent par & et se terminent par ;. Il existe trois formes : nommée (&amp;), numérique décimale (&#38;) et numérique hexadécimale (&#x26;).
Quels caractères doivent toujours être encodés ?
Au minimum, <, > et & dans le contenu textuel. Dans les valeurs d’attributs, " et ’ doivent également être encodés. Ces cinq caractères préviennent la plupart des vulnérabilités XSS.
Nommé, décimal ou hexadécimal — lequel utiliser ?
Les entités nommées sont les plus lisibles. Les entités numériques décimales sont universellement supportées. L’hexadécimal est courant en XML et XHTML. Pour HTML5, les entités nommées sont préférées quand elles existent.
L’encodage prévient-il les attaques XSS ?
Encoder les entrées utilisateur avant de les insérer dans le HTML est la principale défense contre le XSS. Ce n’est pas suffisant seul — une Content Security Policy et un échappement contextuel sont également nécessaires.
Mon entrée est-elle envoyée à un serveur ?
Non. Tout l’encodage et le décodage s’exécute dans votre navigateur via JavaScript. Rien ne quitte votre appareil.
Quelle est la limite de taille d’entrée ?
L’outil impose une limite de 1 Mo. Le contenu jusqu’à cette taille est traité en moins de 500 ms sur du matériel moderne. Les entrées dépassant 1 Mo déclenchent une erreur inline.
Que se passe-t-il avec des entités malformées comme &amp;xyz; ?
Les entités non reconnues passent généralement sans changement. Cependant, la bibliothèque utilise une correspondance par préfixe le plus long — par exemple, &notarealentity; décode en ¬arealentity; car &not; est un préfixe valide.