Échapper / déséchapper HTML

Échapper du texte pour HTML ou décoder les références de caractères dans votre navigateur. Encode & < > " et ' pour les nœuds texte ; décode les références nommées et numériques.

Fonctionnement
  • Échappe & < > " et ' pour les nœuds texte HTML. Ce n'est pas un sanitizer XSS complet pour attributs ou scripts.

Échappe & < > " et ' pour les nœuds texte HTML. Ce n'est pas un sanitizer XSS complet pour attributs ou scripts.

À propos de l'échappement HTML

Qu'est-ce que l'échappement HTML ?

L'échappement HTML remplace les caractères spéciaux en HTML pour les afficher comme texte plutôt que comme balisage. Cette page encode & < > " et ' en & < > " et '.

Le décodage fait l'inverse : il décode les références nommées amp, lt, gt, quot et apos, plus les références numériques comme ' et '. Le traitement se fait dans votre navigateur. Échapper les nœuds texte ne remplace pas un encodage contextuel ni un sanitizer XSS.

Échapper / déséchapper en code

JavaScript
text.replace(/&/g, "&amp;")
    .replace(/</g, "&lt;")
    .replace(/>/g, "&gt;")
    .replace(/"/g, "&quot;")
    .replace(/'/g, "&#39;")
Python
html.escape(text, quote=True)
html.unescape(text)
Entités
&  &amp;
<  &lt;
>  &gt;
"  &quot;
'  &#39;

FAQ échappement HTML

Qu'est-ce que l'échappement HTML ?
L'échappement HTML encode les caractères qui seraient sinon interprétés comme balisage. Cette page convertit & < > " et ' en & < > " et ' pour les afficher comme texte.
Qu'est-ce que le décodage HTML ?
Le décodage HTML reconvertit les références de caractères en texte. Les références nommées amp, lt, gt, quot et apos sont prises en charge, ainsi que les références numériques décimales et hexadécimales.
L'échappement HTML empêche-t-il les XSS ?
Non. Échapper ces cinq caractères suffit pour les nœuds texte HTML, mais les attributs, URL et scripts exigent un encodage contextuel. Ce n'est pas un sanitizer.
Comment échapper une chaîne en HTML dans le code ?
En JavaScript, remplacez & < > " et ' par leurs entités. En Python, utilisez html.escape(text, quote=True) et html.unescape(text).