HTML Entities Encode/Decode en Ligne
Échappe les caractères HTML spéciaux pour les afficher en toute sécurité et prévenir les attaques XSS.
À quoi ça sert
Échapper le HTML en toute sécurité
Nommées et numériques
Encode en entités nommées (<) ou numériques (<). Décode les deux types automatiquement.
100 % privé
Le traitement se passe dans ton navigateur. Ton code ou contenu n'est jamais envoyé à un serveur.
Prévient le XSS
Échappe les 5 caractères critiques (<, >, &, ", ') qui sont la principale cause des failles XSS.
Instantané
Les résultats apparaissent au fil de la saisie. Sans bouton, sans attente.
Comment ça marche
Trois étapes, sans complications
Colle le texte à encoder ou décoder
Saisis du texte avec des caractères spéciaux (<, >, &, ", ') à encoder, ou du texte avec des entités HTML (<, &) à décoder en texte brut.
Choisis le mode
Sélectionne Encoder pour échapper les caractères spéciaux en entités HTML, ou Décoder pour convertir les entités HTML en texte brut.
Copie le résultat
Récupère le texte traité prêt à insérer dans ton HTML, ton template ou ta base de données. Un clic pour copier dans le presse-papiers.
FAQ
Des questions ?
Les entités HTML sont des séquences de caractères qui représentent des caractères spéciaux en HTML. Elles commencent par & (esperluette) et se terminent par ; (point-virgule). Il en existe deux types : les entités nommées comme & (pour &), < (pour <), > (pour >) et " (pour "), et les entités numériques en décimal (< pour <) ou en hexadécimal (< pour <). La norme HTML5 définit plus de 2 000 entités nommées pour les caractères Unicode.
HTML utilise certains caractères pour sa syntaxe : < ouvre une balise, > la ferme, & commence une entité et " délimite les attributs. Si tu inclus ces caractères directement dans du contenu HTML sans les échapper, le navigateur les interprète comme de la syntaxe plutôt que comme du texte, ce qui casse le balisage. Par exemple, pour afficher le texte <b>bonjour</b> littéralement (avec les balises visibles), tu dois écrire <b>bonjour</b> dans le HTML.
& représente l'esperluette (&). < représente le signe inférieur à (<). > représente le signe supérieur à (>). " représente le guillemet double ("). ' représente l'apostrophe ('). représente l'espace insécable. © représente le symbole copyright (©). ® représente la marque déposée (®). € représente le symbole euro (€). Ces neuf entités couvrent la grande majorité des cas d'usage courants.
Les entités nommées (&, <, ©) sont plus lisibles par un humain mais exigent que le navigateur connaisse le nom. Elles sont définies dans la spécification HTML et chaque version en étend la liste. Les entités numériques en décimal (& pour &) et en hexadécimal (& pour &) fonctionnent pour tout caractère Unicode sans dépendre d'un nom. Les analyseurs XML stricts ne reconnaissent que 5 entités nommées prédéfinies (&, <, >, ", ') et requièrent des entités numériques pour toutes les autres.
Le XSS (Cross-Site Scripting) survient quand un attaquant injecte du code JavaScript dans une page web via des données non assainies. Par exemple, si une application affiche un nom d'utilisateur sans l'échapper et que l'attaquant utilise le nom <script>voleCookies()</script>, ce script s'exécuterait. Si le nom est échappé avec des entités HTML, il s'affiche comme <script>voleCookies()</script> sous forme de texte inerte. L'échappement par entités HTML au niveau de la couche de présentation est la principale défense contre le XSS réfléchi et stocké dans les applications web.
Entités HTML : la défense fondamentale contre le XSS dans les applications web
Les entités HTML font partie intégrante de la spécification HTML depuis ses premières versions. La norme HTML5 (WHATWG Living Standard) définit 2 231 entités nommées, des plus basiques (&, <, >) aux caractères mathématiques, symboles monétaires et lettres grecques. Leur objectif initial était de permettre l'inclusion de caractères spéciaux dans les documents HTML sans ambiguïté avec la syntaxe du langage de balisage. Avec le temps, leur importance pour la sécurité web est devenue tout aussi critique.
Le XSS (Cross-Site Scripting) figure systématiquement parmi les failles les plus répandues dans les applications web, apparaissant année après année dans l'OWASP Top 10. Une attaque XSS réussie peut dérober des cookies de session, effectuer des actions au nom de l'utilisateur, rediriger vers des sites de phishing ou injecter des keyloggers. L'échappement correct par entités HTML au niveau de la couche de présentation est la contre-mesure la plus efficace contre le XSS réfléchi et stocké. Les frameworks modernes comme React, Angular et Vue.js appliquent cet échappement automatiquement lors du rendu des variables dans les templates.
Pour les développeurs qui travaillent avec des templates HTML, la génération d'e-mails, des CMS ou tout système qui affiche du contenu fourni par les utilisateurs, l'échappement correct par entités HTML n'est pas optionnel — c'est une pratique de sécurité fondamentale. Convertir.ai propose cet outil en fonctionnement entièrement côté navigateur, idéal pour vérifier l'échappement de snippets de code, préparer du contenu à insérer dans du HTML ou convertir des entités en texte pour un traitement ultérieur.