Cible de l’Échappement
Protéger les Balises
Autres Options
0 chars 0 lines 0 bytes
0 chars 0 lines 0 bytes

HTML Escape — Convertir les caractères spéciaux et entités HTML

Convertissez les caractères spéciaux HTML comme <, >, &, " et ' en entités HTML afin que le navigateur les affiche comme du texte au lieu de les interpréter comme du code.

Vous pouvez également restaurer les entités HTML pour retrouver les caractères d’origine.
Tous les traitements sont effectués directement dans le navigateur et aucune donnée n’est envoyée au serveur.

Utilisez l’outil Encodage & Décodage URL pour traiter les caractères spéciaux dans les URL,
et Encodage & Décodage Base64 pour transférer des données sous forme de texte en toute sécurité.

Formater et valider des données JSON brutes en structure claire | formateur JSON, validateur JSON, JSON beautifier

Pourquoi utiliser HTML Escape — Prévenir les attaques XSS et afficher du contenu en toute sécurité

Sans échappement HTML, le navigateur peut interpréter les données saisies par l’utilisateur comme du code exécutable.
Par exemple, afficher directement <script>alert('XSS')</script> peut exécuter le script, tandis que l’échappement affiche uniquement le texte.

L’échappement HTML est indispensable partout où du contenu utilisateur est affiché, comme les commentaires, les résultats de recherche ou les espaces communautaires.
Même si le backend applique déjà une protection, cet outil permet de vérifier et tester rapidement le rendu final.

Principales entités HTML — Liste des caractères à échapper

Voici les caractères HTML les plus couramment échappés ainsi que leurs codes d’entité correspondants.

Caractère Code d’entité Description
< &lt; Début de balise HTML
> &gt; Fin de balise HTML
& &amp; Début d’une entité HTML
" &quot; Guillemets doubles dans les attributs
' &apos; Guillemets simples dans les attributs

< et > sont interprétés comme des balises HTML tandis que & marque le début d’une entité et doit être traité en priorité.
Les guillemets doubles et simples doivent également être échappés dans les attributs HTML afin d’éviter les erreurs de structure.
&nbsp; est utilisé pour conserver plusieurs espaces ou créer des espaces insécables sans retour à la ligne.

Qu’est-ce que HTML Unescape — Restaurer les entités vers les caractères d’origine

Unescape est l’opération inverse de l’échappement. Elle convertit des entités HTML comme &lt;, &gt; et &amp; en caractères d’origine tels que <, > et &.

Cette opération est souvent utilisée pour restaurer des chaînes contenant des entités HTML stockées dans des API ou des bases de données,
reconvertir du contenu échappé provenant de modèles d’e-mails ou de systèmes externes avant modification,
ou analyser des chaînes ayant subi plusieurs encodages côté serveur.

Utilisez les boutons ESCAPE / UNESCAPE en haut de l’outil pour passer d’un mode à l’autre.

Comparer les formats d’échappement — HTML, JavaScript et JSON

La méthode d’échappement dépend de l’endroit où le contenu sera utilisé.

HTML utilise des entités comme &lt;, &gt;, &amp; et &quot;. Ce format convient au texte inséré directement dans du code HTML.

Les chaînes JavaScript utilisent un échappement avec barre oblique inverse comme \", \' et \\. Ce format est utilisé pour les chaînes intégrées au code JavaScript.

JSON suit sa propre spécification et échappe les guillemets ainsi que les caractères de contrôle. Il est largement utilisé dans les réponses API et les fichiers JSON.

Cet outil prend en charge les formats HTML, JavaScript et JSON afin de choisir facilement le format adapté puis copier le résultat.

Référence HTML Escape par langage — Traitement côté serveur

Après avoir vérifié le résultat avec cet outil, l’échappement HTML doit toujours être appliqué automatiquement côté serveur dans une application réelle.

Langage Méthode d’échappement
Java (Spring) HtmlUtils.htmlEscape(str)
Java (Commons Text) StringEscapeUtils.escapeHtml4(str)
JavaScript textContent / createTextNode()
Python html.escape(str)
PHP htmlspecialchars($str, ENT_QUOTES)
Go html.EscapeString(str)
Ruby CGI.escapeHTML(str)

Les moteurs de modèles comme Thymeleaf, Jinja2 et Blade appliquent généralement l’échappement automatiquement dans des expressions comme th:text et {{ }}.
Mais si vous utilisez th:utext ou des filtres raw pour afficher du HTML brut, le résultat doit toujours être vérifié manuellement.

Entités HTML courantes — Référence rapide à copier

Retrouvez les entités HTML les plus utilisées au quotidien. Cliquez pour copier et réutiliser immédiatement.

Caractère Entité nommée Entité numérique Description
<&lt;&#60;Inférieur à, début de balise
>&gt;&#62;Supérieur à, fin de balise
&&amp;&#38;Esperluette
"&quot;&#34;Guillemets doubles
'&apos;&#39;Guillemets simples
Espace&nbsp;&#160;Espace insécable
©&copy;&#169;Symbole de copyright
®&reg;&#174;Marque déposée
&trade;&#8482;Symbole de marque
&mdash;&#8212;Tiret cadratin

Les entités nommées (format &lt;) et les entités numériques (format &#60;) produisent exactement le même résultat.
Les entités numériques permettent également de représenter des caractères qui ne disposent pas d’entité nommée.

Foire Aux Questions

Oui. Ce sont deux mécanismes d’encodage totalement différents.

L’échappement HTML convertit les caractères spéciaux en formes comme &lt; et &amp; afin que le navigateur les affiche comme du texte au lieu de les interpréter comme des balises ou des entités HTML.
L’encodage URL transforme les caractères qui ne doivent pas être utilisés directement dans une URL en valeurs encodées comme %2F et %20.
Comme leurs objectifs sont différents, les utiliser de manière interchangeable peut produire des résultats inattendus.

Si du contenu HTML doit être transmis via des paramètres URL, appliquez d’abord l’encodage URL puis gérez séparément l’échappement HTML lors de l’affichage.

Oui. L’échappement est également important dans de nombreux cas au-delà de la protection contre les attaques XSS.

Un exemple fréquent consiste à insérer directement des données utilisateur dans des attributs HTML.
Par exemple, si une chaîne contenant des guillemets est insérée dans des attributs comme href ou value sans échappement, la structure peut être rompue et provoquer un comportement inattendu.

Les modèles d’e-mails, la génération de PDF, l’export CSV et d’autres formats de sortie nécessitent également un échappement adapté au contexte.

Oui. Lorsque vous utilisez l’attribut th:text, Thymeleaf applique automatiquement l’échappement HTML.
Par exemple, si le modèle contient test, le rendu avec th:text affichera le contenu comme du texte sans l’interpréter comme du HTML.

À l’inverse, th:utext affiche du HTML sans échappement. Son utilisation avec des données non fiables peut introduire des risques XSS.
Utilisez th:utext uniquement avec du contenu provenant de sources fiables, comme du HTML créé et validé en interne.

Non. Toutes les opérations d’échappement et de restauration sont exécutées entièrement dans votre navigateur.

Les données saisies — y compris le code HTML, les scripts, les clés API et tout autre contenu saisi — ne sont pas transmises à des serveurs externes.

Cet outil convertit uniquement les caractères spéciaux qui nécessitent généralement un échappement en HTML, comme <, >, &, " et '.
Les caractères Unicode, les emoji et la plupart des systèmes d’écriture modernes s’affichent généralement correctement en HTML5 avec UTF-8 sans nécessiter d’échappement HTML supplémentaire.

Cependant, certains environnements hérités ou limités à ASCII peuvent nécessiter des références numériques basées sur les points de code Unicode au lieu d’utiliser directement les caractères. Dans ce cas, une gestion supplémentaire de l’encodage peut être nécessaire.

Pas exactement, même si ces deux termes sont souvent employés comme des synonymes.
Une entité HTML (HTML Entity) est une notation définie par HTML pour représenter certains caractères, comme &lt;, &amp; ou &copy;.

HTML Escape désigne le processus consistant à convertir des caractères spéciaux en entités HTML afin que le navigateur les affiche comme du texte au lieu de les interpréter comme du balisage.

Autrement dit, les entités HTML sont le résultat du processus d’échappement. Dans les recherches et la documentation technique, les deux termes sont souvent utilisés avec un sens proche.