Encodeur et Décodeur d'Entités HTML
Échappez les caractères spéciaux du HTML pour qu'ils s'affichent comme du texte, ou retransformez les entités en caractères lisibles.
Laissez cette option désactivée pour les pages UTF-8 modernes. Activez-la pour les gabarits anciens ou les e-mails HTML où accents et emoji doivent rester en ASCII pur.
Comment utiliser l'encodeur et décodeur d'entités HTML
- Collez le texte à échapper, ou le balisage truffé d'entités que vous souhaitez relire en caractères normaux.
- Cochez « Encoder également tous les caractères non ASCII » uniquement si la sortie doit rester en ASCII pur : accents et emoji deviendront des entités numériques.
- Cliquez sur « Encoder » pour échapper les caractères réservés, ou sur « Décoder » pour retransformer les entités en texte.
- Comparez le panneau de résultat à votre source : son titre indique si vous regardez la sortie encodée ou décodée.
- Utilisez « Copier le résultat » pour le coller dans votre gabarit, ou « Effacer » pour repartir de zéro.
Qu'est-ce qu'un encodeur et décodeur d'entités HTML ?
Cinq caractères portent une valeur structurelle en HTML : l'esperluette ouvre une entité, les chevrons ouvrent et ferment les balises, et les deux guillemets délimitent les valeurs d'attribut. Dès que l'un d'eux apparaît dans le contenu plutôt que dans le balisage, il faut l'écrire sous forme d'entité — &, <, >, " et ' — sinon le navigateur l'interprète comme une instruction. Échapper ces cinq caractères reste la protection la plus fiable contre les mises en page cassées et les failles XSS stockées.
L'ordre compte plus qu'on ne le croit. L'esperluette doit être échappée en premier, faute de quoi les esperluettes introduites par les remplacements suivants sont échappées une seconde fois et < devient &lt;. Le décodage inverse la séquence : les entités numériques et nommées sont résolues d'abord, & en dernier, si bien qu'un &lt; volontairement échappé redevient < au lieu de se transformer en vraie balise. Cet outil décode avec une expression régulière et String.fromCodePoint plutôt qu'avec innerHTML, ce qui le met à l'abri des injections et le rend stable lors du rendu côté serveur.
Vous échappez une valeur destinée à un lien plutôt qu'au balisage ? Passez par l'encodeur et décodeur d'URL pour l'encodage pourcent. Les données binaires relèvent de l'encodeur et décodeur Base64, et vous pouvez harmoniser vos textes avec le convertisseur de casse avant de les échapper.
Questions fréquentes (FAQ)
Quels caractères faut-il échapper en HTML ?
Au minimum l'esperluette, les signes inférieur et supérieur, le guillemet double et l'apostrophe. Les guillemets ne comptent que dans les attributs, mais échapper systématiquement les cinq est plus simple et sans danger.
Comment échapper des caractères HTML en ligne ?
Collez votre texte et cliquez sur « Encoder ». Chaque caractère réservé devient son entité, l'esperluette étant traitée en premier pour éviter tout double échappement.
Comment décoder des entités HTML en texte ?
Collez le balisage échappé et cliquez sur « Décoder ». Les entités nommées comme et les entités numériques comme © ou 😀 retrouvent le caractère qu'elles représentent.
Quelle différence entre ' et ' ?
Les deux représentent une apostrophe, mais ' n'existait pas en HTML 4 et les anciens navigateurs peuvent l'afficher telle quelle. La forme numérique ' fonctionne partout, c'est donc celle que produit cet outil.
Faut-il encoder les accents en entités ?
Le plus souvent non. Une page servie en UTF-8 affiche directement accents, caractères asiatiques et emoji, et les entités ne font qu'alourdir le fichier. Activez l'option pour les systèmes anciens, certains clients de messagerie ou les chaînes de traitement qui abîment tout ce qui dépasse l'ASCII.
Les entités HTML empêchent-elles les attaques XSS ?
Échapper les saisies utilisateur avant de les insérer dans le HTML est une défense essentielle, mais elle dépend du contexte. Une valeur qui atterrit dans une URL, dans du JavaScript ou dans un bloc de style exige ses propres règles : ne comptez jamais sur les seules entités.
Les emoji et caractères rares sont-ils pris en charge ?
Oui. L'encodage parcourt les points de code et non les unités UTF-16 : un emoji devient une entité unique comme 😀 au lieu de deux moitiés cassées, et le décodage le restitue à l'identique.
Conseils pour échapper le HTML sans risque
- Tip 1: Échappez à la sortie, pas à l'entrée. Conservez les caractères d'origine en base et encodez au rendu : la même valeur pourra aussi servir en JSON, par e-mail ou dans un PDF.
- Tip 2: Surveillez le double échappement. Si &lt; s'affiche à l'écran, une chaîne déjà échappée l'a été une seconde fois : décodez une fois et corrigez la chaîne de traitement plutôt que la sortie.
- Tip 3: Utilisez avec parcimonie. Elle sert à coller un nombre à son unité, mais en enchaîner plusieurs pour simuler un espacement casse le retour à la ligne sur petit écran.
- Tip 4: Échappez ici vos titres et descriptions avant de les coller dans le générateur de balises meta, et basculez sur l'encodeur et décodeur d'URL lorsque la valeur part dans un href et non dans le contenu de la page.