100 % local — vos données ne quittent jamais votre navigateur

Entités HTML en texte — lisez un extrait récupéré

Décodez les entités HTML en caractères. Les références numériques sont toutes gérées, et un nom inconnu reste visible : vous voyez ce qu’il y avait.

Instantané Privé Zéro cookie

Entrée HTML Entities

Sortie Text

Ce que fait cet outil

Chaque référence &…; devient le caractère qu’elle désigne.

  • Numérique décimale — é donne é.
  • Numérique hexadécimale — é et é donnent tous deux é.
  • Nommée — &,  , —, é et une soixantaine d’autres noms courants.

Un caractère hors plan de base arrive en une référence et repart en un caractère : 😀 et 😀 donnent tous deux l’emoji.

Un nom inconnu reste visible

♥ ressort en ♥.

HTML5 définit plus de deux mille noms. Cet outil porte ceux que l’on rencontre vraiment et laisse les autres intacts — parce que les solutions de rechange sont pires. Supprimer une référence non reconnue perd des données en silence. La deviner invente un caractère qui n’était pas là. La laisser visible vous dit exactement ce qui n’a pas été traité, et sa forme numérique fonctionne toujours.

Le décodage s’effectue une fois

&amp;lt; donne &lt;, pas <.

C’est la bonne réponse, pas une limite. &amp;lt; est ce qu’un encodeur produit quand le texte source était les quatre caractères littéraux &lt; : un seul passage restitue donc exactement ce texte source. Relancer le décodeur transformerait du balisage échappé en balisage vivant — l’échec exact que l’échappement existe pour empêcher.

Le point-virgule est exigé

&amp x est laissé tel quel. Les navigateurs décodent bien certaines références sans terminateur, par compatibilité avec des documents écrits dans les années quatre-vingt-dix, mais lesquelles dépend de l’analyseur et du contexte. Exiger le point-virgule, c’est faire que le résultat ne dépende pas de l’analyseur auquel on demande.

Les références qui ne désignent aucun caractère

Trois cas sont rendus tels quels plutôt que décodés :

  • &#0; — un NUL n’a pas de représentation légale en HTML, et en produire un tronque une chaîne C, casse un insert SQL et corrompt ce qui lit le résultat ;
  • &#xD800; à &#xDFFF; — les demi-substituts ne sont pas des caractères, seulement un artefact d’encodage ;
  • tout ce qui dépasse &#1114111; — au-delà du sommet d’Unicode.

Vous voyez la référence que vous avez saisie, signal honnête qu’elle ne désignait rien.

Confidentiel par conception

Tout s’exécute localement dans votre navigateur en JavaScript. Vos données ne sont jamais envoyées sur un serveur, ce qui rend l’outil sûr pour des contenus sensibles, et il fonctionne hors ligne.

Questions fréquentes

Pourquoi &hearts; est-il encore dans ma sortie ?
Parce qu’il ne figure pas dans la liste des noms décodés, et le laisser visible vaut mieux que le supprimer ou le deviner. HTML5 définit plus de deux mille noms ; les courants sont couverts, et le reste demeure exactement tel que vous l’avez saisi, pour que vous voyiez ce qui n’a pas été traité. Sa forme numérique, `&#9829;`, se décode.
Pourquoi &amp;lt; n’est-il devenu que &lt; et pas < ?
Parce que le décodage s’effectue une fois. `&amp;lt;` est ce qu’un encodeur produit à partir du texte littéral `&lt;` : un passage rend donc ce texte, et c’est la bonne réponse. Décoder deux fois transformerait du balisage échappé en balisage vivant — précisément le défaut que l’échappement existe pour empêcher.
Pourquoi &#0; est-il resté intact ?
Parce qu’il n’y a aucun caractère à produire. Un NUL n’a pas de représentation légale dans un document HTML, et en émettre un tronquerait une chaîne C, casserait un insert SQL et corromprait ce qui lit le résultat. Même chose pour un demi-substitut et pour tout ce qui dépasse U+10FFFF : la référence est rendue telle quelle, donc visible.

Convertisseurs associés