Encodage
HTML Entities Encode/Decode
Encodage et décodage d'entités HTML — affichage sécurisé des caractères spéciaux sur la page.
HTML entities are a way to write characters that would otherwise break markup (<, >, &) or have no keyboard key, as safe text sequences like < or &. This tool encodes and decodes such entities right in your browser.
How to use it
- Encode: paste text and characters like <, >, &, and quotes get replaced with their matching entities.
- Decode: paste HTML containing entities (&, ©, etc.) to see the plain text.
- Both named entities (&) and numeric ones (& or &) are supported.
Common uses
- Safely displaying user text (a comment, a message) on a page without risking broken markup or an injected script.
- Embedding HTML code samples in an article or documentation so the browser shows them as text instead of rendering them.
- Decoding content copied from another site where the characters arrived already entity-encoded.
Things to keep in mind
HTML entity escaping only protects against XSS via a page's text content — it does not protect a JavaScript context (innerHTML, eval) or href/src attributes containing unvalidated URLs.
Encode exactly at the point where text gets inserted into HTML, not ahead of time when saving to a database — otherwise the data gets mangled when reused outside an HTML context.
Article sur cet outil: HTML Entities : afficher des caractères spéciaux en toute sécurité
Questions fréquentes
Quelle est la différence entre entités nommées et numériques ?
Une entité nommée comme & est lisible et correspond à un caractère précis, tandis qu'une entité numérique comme & ou & référence le point de code Unicode du caractère, en décimal ou en hexadécimal. Les deux formes produisent le même résultat affiché.
Pourquoi encoder du texte en entités HTML ?
Cela permet d'afficher en toute sécurité des caractères comme <, > ou & sans que le navigateur les interprète comme du balisage, évitant ainsi de casser la page ou d'introduire une faille XSS.
Mes données sont-elles envoyées sur un serveur ?
Non, tout l'encodage et le décodage s'exécutent localement dans votre navigateur. Aucun texte n'est transmis à un serveur.
Faut-il échapper le texte d'un attribut différemment de celui du corps de la page ?
Les caractères de base (<, >, &) s'échappent de la même façon, mais à l'intérieur d'un attribut entre guillemets, il est en plus crucial d'échapper le type de guillemet précis qui délimite l'attribut — sinon la valeur « se rompt » plus tôt que prévu.
L'échappement HTML protège-t-il de tous les types de XSS ?
Non. Il couvre le vecteur le plus courant — l'insertion de texte dans du contenu HTML — mais ne protège pas contre le XSS via un contexte JavaScript (par exemple innerHTML suivi d'une exécution de code) ni contre des URL non validées dans href/src.