onlinetools.dev

Encodage / décodage d’entités HTML

Échappez du texte pour le HTML ou reconvertissez les entités & en caractères

Exécution locale
loading…
À propos de cet outil

Échappez du texte pour l’inclure sans risque dans du HTML — & devient &amp;amp;, < devient &amp;lt; — ou décodez un texte truffé d’entités vers des caractères lisibles, en couvrant les entités nommées (&amp;rarr;), les références numériques décimales (&amp;#169;) et hexadécimales (&amp;#xA9;).

L’encodage offre deux niveaux : les cinq caractères essentiels qui cassent la structure HTML (&amp; &lt; &gt; " '), tout ce qu’il faut pour la correction, ou tout le non-ASCII, utile quand une chaîne d’outils abîme l’UTF-8 quelque part entre vous et la page. Un mode numérique seul évite les entités nommées pour une compatibilité maximale avec les parseurs XML stricts, qui ne garantissent que les cinq prédéfinies.

Le décodeur est la moitié du quotidien : collez un extrait scrapé ou une réponse d’API pleine de &amp;#x27; et récupérez du texte propre. Les noms d’entités inconnus passent tels quels au lieu d’être devinés.

Questions fréquentes

Quels caractères doivent être échappés en HTML ?
Dans le contenu textuel : & et <. Dans les valeurs d’attributs : aussi le guillemet qui délimite l’attribut (" ou '). Échapper > est conventionnel mais pas strictement requis. Tout le reste peut apparaître littéralement dans un document UTF-8.
L’encodage en entités protège-t-il contre les XSS ?
Échapper les cinq caractères structurels est le cœur de l’encodage de sortie en contexte HTML, oui — mais uniquement pour les contextes de texte et d’attributs HTML. Les URL, les chaînes JavaScript et le CSS exigent leurs propres encodages contextuels ; l’échappement d’entités seul ne rend pas l’injection arbitraire sûre dans ces contextes.
Entités nommées ou numériques — lesquelles émettre ?
Les références numériques (&amp;#xE9;) fonctionnent dans tout parseur HTML et XML. Les entités nommées sont plus lisibles, mais XML n’en prédéfinit que cinq : &amp;eacute; casse un pipeline XML/XHTML strict. Dans le doute, numérique.
Pourquoi vois-je &amp;amp;#39; (double encodage) dans mes données ?
Deux couches ont encodé chacune une fois : le &amp; du premier encodage a lui-même été échappé par un second passage. Décodez deux fois ici pour récupérer le texte, puis trouvez et corrigez la couche qui ne devrait pas encoder.
Outils associés