Encodeur et décodeur d'entités HTML
Convertissez les caractères spéciaux en entités HTML et inversement, côté client. Trois modes — uniquement spéciaux, tout non-ASCII, ou numérique — avec encodage idempotent.
Que sont les entités HTML ?
Les entités HTML sont des séquences d'échappement représentant des caractères réservés ou non-ASCII en HTML. Les cinq plus courantes — & < > " ' — doivent être entitisées pour que le navigateur ne les interprète pas comme du balisage. Elles permettent tout point Unicode.
Named vs numériques
Les entités named comme & ou © sont plus lisibles mais limitées à ~250 caractères prédéfinis. Les numériques & (décimal) ou & (hex) fonctionnent pour tout point Unicode et sont universelles. En cas de doute, ou en XML, utilisez le numérique.
Quand faut-il échapper du HTML ?
Échappez toujours tout texte utilisateur avant de l'injecter dans du HTML — commentaires, recherches, profils, messages d'erreur. Sauter cette étape est le bug XSS le plus courant. Les moteurs de templates et frameworks modernes le font automatiquement ; la concaténation brute non.
Besoin d'encodage URL ? Essayez notre encodeur / décodeur d'URL.
Utilisations courantes
- Prévenir le XSS : Échappez commentaires, profils et recherches utilisateur avant de les afficher en HTML pour bloquer l'injection de scripts.
- Sécurité des templates email : Encodez les champs dynamiques dans les emails transactionnels pour que les clients HTML les affichent en texte.
- Générateurs de sites statiques : Pré-encodez le contenu issu de markdown à la build pour un HTML sans XSS.
- Migration JSON vers HTML : Convertissez les champs d'API contenant des métacaractères HTML en entités avant de les insérer dans un template serveur.
- Logging et débogage : Encodez les payloads bruts avant de les écrire dans des visionneuses de logs HTML.
- Snippets de documentation : Affichez du HTML littéral dans <code> en entitisant les chevrons.
- Migration CMS legacy : Décodez du contenu entitisé exporté d'anciens CMS vers du texte brut.
FAQ
Que sont les entités HTML et pourquoi en ai-je besoin ?
Ce sont des séquences d'échappement représentant les caractères réservés (& < > " ') et tout caractère non-ASCII sans casser l'analyse HTML.
Named vs numériques — laquelle utiliser ?
Utilisez les numériques (&, &) pour des contextes non-HTML — XML, RSS, SGML. Utilisez les named (&, ©) en HTML écrit à la main où la lisibilité compte.
Quand dois-je échapper le HTML dans le contenu utilisateur ?
Toujours — sauf en utilisant explicitement un assainisseur qui autorise un sous-ensemble sûr (DOMPurify, par exemple). La concaténation directe sans échappement est la vulnérabilité XSS classique.
Comment décoder ' et ' ?
Les deux décodent en apostrophe ('). Ce décodeur accepte named ', décimal ' et hex '.
Cet outil envoie-t-il mes données quelque part ?
Non. Tout l'encodage et le décodage s'exécutent entièrement dans votre navigateur. Vos données ne quittent jamais votre appareil.
En chiffres
- Le HTML Living Standard définit ~250 références de caractères nommées — la plupart des navigateurs acceptent aussi l'ancien jeu HTML 4.01
- L'OWASP recommande d'échapper cinq caractères (
&,<,>,",') lors de l'insertion de texte non fiable dans le corps HTML - Les références numériques (ex.
&) fonctionnent pour tout point Unicode — utiles quand aucune entité nommée n'est disponible - XML ne supporte que cinq entités nommées (
amp lt gt quot apos) — les parseurs XML stricts rejettent les entités HTML comme©