HTML-Entities kodieren und dekodieren

HTML Entities kodieren und dekodieren: Sonderzeichen wie & < > und Umlaute in HTML-Entities umwandeln oder &auml; und &#228; zurück in lesbaren Text.

Eingabe
Ergebnis

Alles läuft in Ihrem Browser. Eingaben verlassen Ihr Gerät nicht.

ZeichenBenanntDezimalBedeutung
&&amp;&#38;kaufmännisches Und, muss in HTML immer kodiert werden
<&lt;&#60;kleiner als, beginnt sonst ein Tag
>&gt;&#62;größer als
"&quot;&#34;Anführungszeichen in Attributen
'&apos;&#39;Apostroph in Attributen
ä&auml;&#228;a mit Umlaut
ö&ouml;&#246;o mit Umlaut
ü&uuml;&#252;u mit Umlaut
Ä&Auml;&#196;großes A mit Umlaut
ß&szlig;&#223;Eszett
€&euro;&#8364;Euro-Zeichen
(geschützt)&nbsp;&#160;geschütztes Leerzeichen
–&ndash;&#8211;Halbgeviertstrich
„&bdquo;&#8222;deutsches Anführungszeichen unten
“&ldquo;&#8220;deutsches Anführungszeichen oben
©&copy;&#169;Copyright

HTML Entities: wann man sie braucht

HTML Entities sind Ersatzschreibweisen für Zeichen, die in HTML eine Sonderbedeutung haben oder sich schlecht tippen lassen. Sie beginnen mit & und enden mit einem Semikolon: benannt wie &auml; oder numerisch wie &#228; und &#xE4;. Unverzichtbar sind sie für die fünf HTML Sonderzeichen &, <, >, " und ', denn ohne Kodierung würde der Browser sie als Teil des Codes lesen. Wer Benutzereingaben ungeprüft ausgibt, öffnet die Tür für Cross-Site-Scripting (XSS). HTML escapen heißt deshalb vor allem: diese fünf Zeichen ersetzen.

Umlaute in HTML müssen Sie heute nicht mehr als Entity schreiben, wenn die Seite als UTF-8 ausgeliefert wird, was praktisch immer der Fall ist. Benannte Entities wie &uuml; sind trotzdem verbreitet, etwa in älteren Vorlagen, E-Mail-Newslettern oder Exporten aus Redaktionssystemen. Mit der Einstellung „Nur & < > " '“ bleiben Umlaute stehen; die anderen Einstellungen kodieren alle Zeichen außerhalb von ASCII.

Der HTML Entity Decoder wandelt benannte, dezimale und hexadezimale Entities zurück in Klartext. Er kennt alle über 2.000 benannten Entities aus HTML5, weil er dafür die Tabelle Ihres Browsers nutzt. Unbekannte Namen bleiben unverändert und werden angezeigt. Das Ergebnis wird nur als Text in das Ausgabefeld geschrieben, eingefügter HTML-Code wird also nicht ausgeführt.

Anleitung: HTML Entities in 4 Schritten

  1. Unter „Richtung“ wählen, ob Text in Entities kodiert oder Entities in Text dekodiert werden.
  2. Beim Kodieren festlegen, was umgewandelt wird: nur & < > " ', benannte Entities oder numerisch dezimal bzw. hexadezimal.
  3. Den Text in das Feld „Eingabe“ einfügen.
  4. Das Ergebnis kopieren; mit „Tauschen“ lässt sich das Ergebnis für die Gegenrichtung weiterverwenden.

Typische Anwendungsfälle

  • Codebeispiele veröffentlichen: HTML-Schnipsel für einen Blogartikel so maskieren, dass sie als Text erscheinen und nicht ausgeführt werden.
  • Newsletter und alte Vorlagen: Umlaute für Systeme, die kein UTF-8 verarbeiten, als benannte Entities wie &auml; ausgeben.
  • Exporte lesbar machen: Texte aus Redaktionssystemen oder Datenbanken mit &uuml; und &#228; in Klartext zurückwandeln.
  • Doppelte Kodierung reparieren: Zeichenfolgen wie &amp;auml; durch zweimaliges Dekodieren wieder in ä verwandeln.
Fragen

Häufige Fragen

Muss ich Umlaute in HTML als Entity schreiben?

Nein, wenn Ihre Seite UTF-8 verwendet (<meta charset="utf-8">). Dann können ä, ö, ü und ß direkt im Quelltext stehen. Nur &, < und > sowie Anführungszeichen in Attributen müssen kodiert werden.

Was ist der Unterschied zwischen &amp;nbsp; und einem Leerzeichen?

&nbsp; ist ein geschütztes Leerzeichen: An dieser Stelle bricht der Browser die Zeile nicht um, etwa zwischen Zahl und Einheit wie 5&nbsp;€.

Schützt HTML escapen vor XSS?

Das Ersetzen von & < > " und ' verhindert, dass Text als HTML gelesen wird, und ist die wichtigste Maßnahme gegen Cross-Site-Scripting im Seiteninhalt. In JavaScript, URLs oder CSS gelten jedoch eigene Regeln.

Benannt oder numerisch, was ist besser?

Beide sind gleichwertig. Benannte Entities sind lesbarer, numerische funktionieren für jedes Unicode-Zeichen, auch für Emojis, für die es keine Namen gibt.

Warum steht im Text &amp;auml; statt ä?

Der Text wurde doppelt kodiert: Aus dem & von &auml; wurde beim zweiten Kodieren &amp;. Dekodieren Sie den Text zweimal hintereinander, dann erscheint wieder ä.

Wie escape ich HTML in JavaScript?

Für Text im Seiteninhalt ist textContent statt innerHTML der sicherste Weg, weil der Browser dann nichts als HTML liest. Muss ein String selbst maskiert werden, ersetzen Sie zuerst & und danach <, >, " und ' durch ihre Entities.

Weitere Werkzeuge

Das könnte auch helfen

Alle 358 Werkzeuge