Utilia

HTML-entities coderen en decoderen

Zet speciale tekens om in HTML-entities (benoemd, decimaal of hex) of decodeer elke entity, met de volledige lijst van 2.231 benoemde HTML5-verwijzingen.

Coderingsopties

Zo codeer of decodeer je HTML-entities

  1. Plak je tekst of HTML in het invoervak.
  2. Om te escapen kies je welke tekens je wilt coderen: Alleen & < > " ' of Ook elk niet-ASCII-teken, en kies je een Entityformaat: Benoemd (&eacute;), Decimaal (&#233;) of Hexadecimaal (&#xE9;).
  3. Klik op Coderen, of klik op Decoderen om entities weer in tekens om te zetten.
  4. Lees het aantal in de statusregel en klik op Kopiëren. Resultaat als invoer gebruiken zet het resultaat in het invoervak, bijvoorbeeld om te controleren of heen en terug hetzelfde oplevert.

Coderen: wanneer en wat je escapet

In HTML kunnen vijf tekens voor opmaakcode worden aangezien. Alleen & < > " ' vervangt precies deze tekens: & door &amp;, < door &lt;, > door &gt;, " door &quot; en ' door &#39;. Dat heb je nodig om code op een webpagina te tonen, om tekst van gebruikers in een attribuut te zetten, of om een fragment in een blogpost of een CMS-veld te plakken dat HTML verwacht. De apostrof krijgt de numerieke vorm, omdat &apos; in HTML 4 niet bestond en sommige oudere parsers hem niet kennen.

Ook elk niet-ASCII-teken vervangt daarnaast alles buiten afdrukbaar ASCII: letters met accenten, typografische aanhalingstekens, het euroteken, harde spaties, emoji enzovoort. Het resultaat is puur ASCII. Dat is handig voor systemen die UTF-8 verminken, voor e-mailtemplates, of om onzichtbare tekens zoals &nbsp; zichtbaar te maken in de broncode.

Het Entityformaat bepaalt hoe tekens worden geschreven:

  • Benoemd (&eacute;) gebruikt een leesbare naam als HTML er een definieert (&eacute;, &euro;, &hellip;), en kiest de klassieke HTML 4-naam als een teken er meerdere heeft. Tekens zonder naam, zoals emoji, worden decimaal geschreven.
  • Decimaal (&#233;) schrijft het Unicode-codepunt in het tientallig stelsel.
  • Hexadecimaal (&#xE9;) schrijft het in het zestientallig stelsel, wat overeenkomt met de notatie U+00E9 van Unicode-tabellen.

Alle drie worden door elke browser begrepen. Tekens buiten het Basic Multilingual Plane, zoals 😀, worden gecodeerd als één verwijzing naar het volledige codepunt (&#128512;), niet als twee surrogaathelften.

Decoderen: de regels van HTML5

Decoderen volgt de regels die browsers gebruiken bij het lezen van tekstinhoud, met de volledige lijst van 2.231 benoemde tekenverwijzingen uit de HTML Living Standard:

  • benoemde verwijzingen zoals &eacute;, &rarr; of &NotEqualTilde; (sommige leveren twee codepunten op);
  • decimale (&#233;) en hexadecimale (&#xE9; of &#XE9;) verwijzingen, met of zonder puntkomma aan het eind;
  • oude namen die browsers zonder puntkomma accepteren, zoals &copy 2026 of &amp — en net als in browsers wordt &notit; dan ¬it;, omdat &not zo’n oude naam is;
  • numerieke verwijzingen in het bereik 128–159 worden omgezet naar de Windows-1252-tekens die browsers tonen (&#150; geeft een en-dash), en &#0;, surrogaten en waarden boven U+10FFFF worden het vervangingsteken �.

Onbekende namen zoals &foo; blijven ongewijzigd en worden geteld in de statusregel. Het decoderen gebeurt met de eigen parser van de tool, niet door je tekst in de pagina in te voegen, dus opmaak of scripts in de invoer worden nooit uitgevoerd.

Veelgestelde vragen

Moet ik letters met accenten coderen?

Meestal niet. Een pagina die als UTF-8 wordt geserveerd, kan é of € gewoon bevatten. Niet-ASCII coderen is alleen nodig als het bestand of een systeem onderweg geen UTF-8 aankan.

Waarom wordt &amp;amp;amp; gedecodeerd tot &amp;amp; en niet tot &amp;?

Er wordt één keer gedecodeerd, zoals een browser doet. &amp;amp; is een geëscapete &amp;. Klik op Resultaat als invoer gebruiken en nogmaals op Decoderen als de tekst twee keer is gecodeerd.

Wat is het verschil met URL-codering?

HTML-entities escapen tekst voor HTML-documenten. URL-codering (%20, %C3%A9) escapet tekst voor webadressen. Gebruik de URL-encoder voor links en querystrings.

Wordt mijn tekst naar een server gestuurd?

Nee. Coderen en decoderen draaien in je browser. Alleen de lijst met entitynamen wordt van deze site geladen als je voor het eerst decodeert.

Decodeert de tool entities in attributen anders?

Browsers gaan binnen attribuutwaarden anders om met een paar oude namen zonder puntkomma. Deze tool gebruikt de regels voor tekstinhoud, en die komen overeen met wat je op de pagina ziet.