Encodeur / Décodeur HTML

Encodez les caractères spéciaux en entités HTML (&, <, >, ") et décodez les entités HTML en texte brut. Utile pour intégrer HTML dans le code et prévenir les attaques XSS.

Encoding:
Common HTML Entities
CharacterEntityDescription
&&Ampersand
<&lt;Less than
>&gt;Greater than
"&quot;Double quote
'&#39;Single quote
©&copy;Copyright
®&reg;Registered
&trade;Trademark
&mdash;Em dash
&hellip;Ellipsis
(space)&nbsp;Non-breaking space
&euro;Euro sign

Comment utiliser Encodeur / Décodeur HTML

  1. 1Collez ou tapez votre texte dans le champ de saisie.
  2. 2Cliquez sur Encoder pour convertir les caractères spéciaux en entités HTML.
  3. 3Cliquez sur Décoder pour convertir les entités HTML en texte brut.
  4. 4Copiez la sortie pour l'utiliser dans votre HTML, modèle ou code.
ZenovayAnalytics

Voyez qui est sur votre site en ce moment.

  • Suivi des visiteurs en temps réel
  • Vie privée d'abord, sans bandeau cookies
  • Installé en deux minutes
Découvrir Zenovay

Questions fréquemment posées

Qu'est-ce que les entités HTML ?
Les entités HTML sont des codes spéciaux utilisés pour représenter des caractères qui ont une signification spéciale en HTML ou qui ne peuvent pas être tapés directement. Ils commencent par & et se terminent par ;. Entités nommées : &amp; → &, &lt; → <, &gt; → >, &quot; → ", &apos; → '. Entités numériques : &#60; = < (décimal), &#x3C; = < (hex). Les analyseurs HTML convertissent les entités en leurs caractères lors du rendu. L'utilisation d'entités empêche le navigateur d'interpréter le texte comme un balisage HTML.
Pourquoi encoder le HTML ?
L'encodage HTML prévient : les attaques XSS (cross-site scripting) — l'entrée utilisateur contenant des balises <script> est encodée en &lt;script&gt; et rendue en tant que texte, non exécutée ; l'injection HTML — le contenu non fiable casse la structure de la page ; l'affichage cassé — < et > dans le texte étant mal interprétés comme des balises HTML. Toujours encoder le contenu généré par l'utilisateur avant de l'insérer dans le HTML. Utilisez des moteurs de templates ou React (qui échappe automatiquement par défaut) au lieu de la concaténation brute de chaînes HTML.
Quelle est la différence entre &amp; et &amp;amp; ?
&amp; est l'entité HTML pour le caractère littéral &. &amp;amp; est double encodé — il représente le texte "&amp;" en HTML, qui s'affiche comme "&amp;". Le double encodage se produit lorsque vous encodez du texte déjà encodé. Si vous avez besoin d'afficher le texte "&amp;" littéralement sur une page, vous écrivez &amp;amp; dans votre HTML. Cela se produit dans les extraits de code et la documentation montrant des exemples d'entités HTML.
Dois-je utiliser des entités HTML nommées ou numériques ?
Les deux sont valides. Les entités nommées (&amp;, &lt;) sont plus lisibles. Les entités numériques (&#38;, &#60; ou &#x26;, &#x3C;) fonctionnent pour n'importe quel caractère Unicode, même sans équivalent nommé. Pour la sécurité, toujours encoder au minimum &, <, >, " (et ' pour les valeurs d'attribut). Pour la sécurité Unicode complète dans les anciens systèmes, encodez tous les caractères non-ASCII numériquement. Les pages HTML5 UTF-8 modernes peuvent inclure Unicode directement sans encodage.
Qu'est-ce que la fonction htmlspecialchars en PHP ?
La fonction htmlspecialchars() de PHP convertit &, <, >, ", ' en leurs équivalents d'entités HTML. Utilisez l'indicateur ENT_QUOTES pour encoder les guillemets simples et doubles : htmlspecialchars($str, ENT_QUOTES, 'UTF-8'). htmlspecialchars_decode() l'inverse. html_entity_decode() gère toutes les entités nommées. En JavaScript : pas de fonction intégrée, mais DOMParser ou document.createElement + textContent peuvent encoder/décoder. En Python : html.escape() et html.unescape().