Développement

Encoder et décoder les entités HTML en ligne

Convertissez les caractères spéciaux en entités HTML et décodez les entités en texte brut pour ne pas casser votre balisage.

Également disponible en :EnglishEspañolPortuguêsDeutschItalianoNederlandsPolski

Tout est calculé dans votre navigateur. Ce que vous saisissez n’est envoyé à aucun serveur.

Encodeur d’entités HTML : à quoi ça sert

Cinq caractères ont une valeur structurelle en HTML — inférieur, supérieur, esperluette et les deux types de guillemets — et leur présence littérale dans un contenu peut casser la page ou ouvrir une faille d’injection. Cet outil les échappe en entités nommées et décode les entités vers du texte lisible.

Encodeur d’entités HTML : mode d’emploi

  1. Collez le texte ou le balisage à convertir.
  2. Cliquez sur Encoder pour échapper les caractères spéciaux, ou sur Décoder pour l’opération inverse.
  3. Choisissez si les caractères non ASCII, comme les accents, doivent aussi devenir des entités numériques.
  4. Copiez la sortie sécurisée dans votre gabarit.

Questions fréquentes

Quels caractères faut-il toujours échapper ?

& devient &amp;, < devient &lt;, > devient &gt;, " devient &quot; et ' devient &#39;. L’esperluette doit être échappée en premier, sinon tout le reste l’est deux fois.

Faut-il des entités pour les accents si la page est en UTF-8 ?

Non : en UTF-8, les accents, la cédille et les emojis s’écrivent directement. Les cinq caractères structurels, eux, doivent toujours être échappés.

L’échappement protège-t-il des failles XSS ?

L’échappement adapté au contexte est la défense principale, mais il diffère selon qu’on se trouve dans du texte HTML, un attribut, une URL ou un script. Utilisez l’échappement contextuel de votre framework plutôt qu’une passe unique.

Qu’est-ce qu’une espace insécable ?

&nbsp; s’affiche comme une espace qui n’autorise jamais un retour à la ligne. Utile entre un nombre et son unité, ou avant un point d’interrogation en français, mais l’enchaîner pour créer des retraits signale un problème de CSS.