IT & Internet · Stand:

HTML-Sonderzeichen: Umlaute, Anführungszeichen und Symbole als Entity

In HTML schreibst Du ein Sonderzeichen entweder direkt oder als Zeichenreferenz: benannt wie ä, dezimal wie ä oder hexadezimal wie ä – alle drei ergeben ä. Die Tabelle listet 71 häufig gebrauchte Zeichen mit allen Schreibweisen, von Umlauten über deutsche Anführungszeichen bis zu Pfeilen und dem Copyright-Zeichen.

Ist Deine Seite in UTF-8 gespeichert, brauchst Du Entities fast nur noch für vier Zeichen: &, <, > und ". Umlaute, € und „…“ kannst Du direkt tippen.

ä
ä · ä
€
€ · €
Deutsche Anführung „…“
„ … “
Geschütztes Leerzeichen
  ·  
PDF Excel CSV
Zeichen mit Sonderbedeutung in HTML und wann Du sie maskieren musst5 Zeilen
ZeichenEntity-NameDezimalMaskieren
&&&in Text und Attributen; Pflicht, wenn sonst eine Zeichenreferenz entstehen könnte – am einfachsten immer
<&lt;&#60;im Text immer, sonst beginnt ein Tag
>&gt;&#62;nicht vorgeschrieben, wird aber meist mit maskiert
"&quot;&#34;in Attributwerten, die in doppelten Anführungszeichen stehen
'&apos;&#39;in Attributwerten in einfachen Anführungszeichen; PHP schreibt dafür &#039;

Regeln nach dem HTML-Standard der WHATWG (Abschnitt Syntax). &apos; gibt es erst seit HTML5; die dezimale Form &#39; funktioniert überall.

Speicherbedarf je Schreibweise in Bytes
Speicherbedarf je Schreibweise in Bytesä: Zeichen direkt (UTF-8) 2 Byte, Entity-Name 6 Byte, Dezimale Referenz 6 Byte; ß: Zeichen direkt (UTF-8) 2 Byte, Entity-Name 7 Byte, Dezimale Referenz 6 Byte; „: Zeichen direkt (UTF-8) 3 Byte, Entity-Name 7 Byte, Dezimale Referenz 7 Byte; –: Zeichen direkt (UTF-8) 3 Byte, Entity-Name 7 Byte, Dezimale Referenz 7 Byte; nbsp: Zeichen direkt (UTF-8) 2 Byte, Entity-Name 6 Byte, Dezimale Referenz 6 Byte; €: Zeichen direkt (UTF-8) 3 Byte, Entity-Name 6 Byte, Dezimale Referenz 7 Byte; →: Zeichen direkt (UTF-8) 3 Byte, Entity-Name 6 Byte, Dezimale Referenz 7 ByteZeichen direkt (UTF-8)Entity-NameDezimale Referenz02468266ä276ß377„377–266nbsp367€367→Byte

Diese Zeichen brauchen direkt in UTF-8 2 bis 3 Bytes, als Referenz 6 bis 7. „nbsp“ steht für das geschützte Leerzeichen.

HTML-Sonderzeichen mit Entity-Name, dezimaler und hexadezimaler Referenz71 Zeilen
Spaltenköpfe anklicken zum Sortieren
ZeichenEntity-NameDezimalHexUnicodeBezeichnungGruppe
ä&auml;&#228;&#xE4;U+00E4a mit UmlautUmlaute und ß
Ä&Auml;&#196;&#xC4;U+00C4A mit UmlautUmlaute und ß
ö&ouml;&#246;&#xF6;U+00F6o mit UmlautUmlaute und ß
Ö&Ouml;&#214;&#xD6;U+00D6O mit UmlautUmlaute und ß
ü&uuml;&#252;&#xFC;U+00FCu mit UmlautUmlaute und ß
Ü&Uuml;&#220;&#xDC;U+00DCU mit UmlautUmlaute und ß
ß&szlig;&#223;&#xDF;U+00DFEszett, scharfes sUmlaute und ß
ẞkein Name&#7838;&#x1E9E;U+1E9Egroßes EszettUmlaute und ß
„&bdquo;&#8222;&#x201E;U+201Edoppeltes Anführungszeichen unten – deutsch öffnendAnführungszeichen
“&ldquo;&#8220;&#x201C;U+201Cdoppeltes Anführungszeichen oben – deutsch schließend, englisch öffnendAnführungszeichen
”&rdquo;&#8221;&#x201D;U+201Ddoppeltes Anführungszeichen oben – englisch schließendAnführungszeichen
‚&sbquo;&#8218;&#x201A;U+201Aeinfaches Anführungszeichen unten – deutsch öffnendAnführungszeichen
‘&lsquo;&#8216;&#x2018;U+2018einfaches Anführungszeichen oben – deutsch schließendAnführungszeichen
’&rsquo;&#8217;&#x2019;U+2019Apostroph, einfaches Anführungszeichen – englisch schließendAnführungszeichen
»&raquo;&#187;&#xBB;U+00BBGuillemet nach rechts – deutsch öffnendAnführungszeichen
«&laquo;&#171;&#xAB;U+00ABGuillemet nach links – deutsch schließendAnführungszeichen
›&rsaquo;&#8250;&#x203A;U+203Aeinfaches Guillemet nach rechtsAnführungszeichen
‹&lsaquo;&#8249;&#x2039;U+2039einfaches Guillemet nach linksAnführungszeichen
–&ndash;&#8211;&#x2013;U+2013Halbgeviertstrich: Gedankenstrich, Bis-StrichStriche und Punkte
—&mdash;&#8212;&#x2014;U+2014Geviertstrich (englischer Gedankenstrich)Striche und Punkte
‑kein Name&#8209;&#x2011;U+2011geschützter Bindestrich (kein Zeilenumbruch)Striche und Punkte
SHY&shy;&#173;&#xAD;U+00ADweiches Trennzeichen (bedingte Trennung)Striche und Punkte
…&hellip;&#8230;&#x2026;U+2026AuslassungspunkteStriche und Punkte
·&middot;&#183;&#xB7;U+00B7MittelpunktStriche und Punkte
•&bull;&#8226;&#x2022;U+2022AufzählungspunktStriche und Punkte
NBSP&nbsp;&#160;&#xA0;U+00A0geschütztes LeerzeichenLeerzeichen
NNBSPkein Name&#8239;&#x202F;U+202Fschmales geschütztes LeerzeichenLeerzeichen
THSP&thinsp;&#8201;&#x2009;U+2009schmales Leerzeichen (umbrechbar)Leerzeichen
ENSP&ensp;&#8194;&#x2002;U+2002Halbgeviert-LeerzeichenLeerzeichen
EMSP&emsp;&#8195;&#x2003;U+2003Geviert-LeerzeichenLeerzeichen
ZWSP&ZeroWidthSpace;&#8203;&#x200B;U+200BLeerzeichen ohne Breite (erlaubt Umbruch)Leerzeichen
€&euro;&#8364;&#x20AC;U+20ACEuroWährungen
$&dollar;&#36;&#x24;U+0024DollarWährungen
¢&cent;&#162;&#xA2;U+00A2CentWährungen
£&pound;&#163;&#xA3;U+00A3PfundWährungen
¥&yen;&#165;&#xA5;U+00A5YenWährungen
¤&curren;&#164;&#xA4;U+00A4allgemeines WährungszeichenWährungen
×&times;&#215;&#xD7;U+00D7MalzeichenMathematik
÷&divide;&#247;&#xF7;U+00F7GeteiltzeichenMathematik
−&minus;&#8722;&#x2212;U+2212MinuszeichenMathematik
±&plusmn;&#177;&#xB1;U+00B1PlusminusMathematik
≠&ne;&#8800;&#x2260;U+2260ungleichMathematik
≤&le;&#8804;&#x2264;U+2264kleiner oder gleichMathematik
≥&ge;&#8805;&#x2265;U+2265größer oder gleichMathematik
≈&asymp;&#8776;&#x2248;U+2248ungefähr gleichMathematik
∞&infin;&#8734;&#x221E;U+221EunendlichMathematik
√&radic;&#8730;&#x221A;U+221AWurzelMathematik
∑&sum;&#8721;&#x2211;U+2211SummeMathematik
²&sup2;&#178;&#xB2;U+00B2hochgestellte 2 (Quadrat)Mathematik
³&sup3;&#179;&#xB3;U+00B3hochgestellte 3 (Kubik)Mathematik
½&frac12;&#189;&#xBD;U+00BDein halbMathematik
¼&frac14;&#188;&#xBC;U+00BCein ViertelMathematik
¾&frac34;&#190;&#xBE;U+00BEdrei ViertelMathematik
°&deg;&#176;&#xB0;U+00B0GradMathematik
‰&permil;&#8240;&#x2030;U+2030PromilleMathematik
µ&micro;&#181;&#xB5;U+00B5MikroMathematik
←&larr;&#8592;&#x2190;U+2190Pfeil nach linksPfeile
→&rarr;&#8594;&#x2192;U+2192Pfeil nach rechtsPfeile
↑&uarr;&#8593;&#x2191;U+2191Pfeil nach obenPfeile
↓&darr;&#8595;&#x2193;U+2193Pfeil nach untenPfeile
↔&harr;&#8596;&#x2194;U+2194Pfeil nach links und rechtsPfeile
⇐&lArr;&#8656;&#x21D0;U+21D0Doppelpfeil nach linksPfeile
⇒&rArr;&#8658;&#x21D2;U+21D2Doppelpfeil nach rechts (daraus folgt)Pfeile
⇔&hArr;&#8660;&#x21D4;U+21D4Doppelpfeil links und rechts (genau dann, wenn)Pfeile
©&copy;&#169;&#xA9;U+00A9CopyrightRecht und Verweise
®&reg;&#174;&#xAE;U+00AEeingetragene MarkeRecht und Verweise
™&trade;&#8482;&#x2122;U+2122Markenzeichen (Trademark)Recht und Verweise
§&sect;&#167;&#xA7;U+00A7ParagrafRecht und Verweise
&para;&#182;&#xB6;U+00B6AbsatzzeichenRecht und Verweise
†&dagger;&#8224;&#x2020;U+2020Kreuz (gestorben, Fußnote)Recht und Verweise
‡&Dagger;&#8225;&#x2021;U+2021DoppelkreuzRecht und Verweise

Grau in der ersten Spalte: unsichtbare Zeichen, angegeben mit ihrem üblichen Kürzel. „Kein Name“: Für dieses Zeichen gibt es keine benannte Referenz, nur die numerische (3 Zeichen). Namen nach der WHATWG-Liste; Groß- und Kleinschreibung zählt.

Zeichen der Tabelle nach Unicode-Block
Zeichen der Tabelle nach Unicode-BlockBasis-Lateinisch (U+0000–007F): 1; Latin-1-Ergänzung (U+0080–00FF): 30; Lateinisch, Zusatzbuchstaben (U+1E00–1EFF): 1; Allgemeine Interpunktion (U+2000–206F): 21; Währungszeichen (U+20A0–20CF): 1; Buchstabenähnliche Symbole (U+2100–214F): 1; Pfeile (U+2190–21FF): 8; Mathematische Operatoren (U+2200–22FF): 80102030Basis-Lateinisch (U+0000–007F)1Latin-1-Ergänzung (U+0080–00FF)30Lateinisch, Zusatzbuchstaben (U+1…1Allgemeine Interpunktion (U+2000–…21Währungszeichen (U+20A0–20CF)1Buchstabenähnliche Symbole (U+210…1Pfeile (U+2190–21FF)8Mathematische Operatoren (U+2200–…8

Zeichen ab U+0800 belegen in UTF-8 drei Bytes, die Latin-1-Ergänzung zwei, ASCII ein Byte.

Brauchst Du Entities überhaupt?

Meistens nicht. Der Encoding-Standard der WHATWG schreibt für Webseiten UTF-8 vor, und damit lässt sich jedes Zeichen direkt in den Quelltext schreiben. Wichtig ist nur, dass die Datei wirklich als UTF-8 gespeichert ist und der Browser das erfährt: über den HTTP-Header Content-Type oder mit <meta charset="utf-8"> im Kopf der Seite.

Direkt geschriebene Zeichen sind kürzer und besser lesbar. Das Diagramm zeigt den Unterschied: Ein ä belegt in UTF-8 2 Bytes, als &auml; dagegen 6. Entities lohnen sich noch für die Zeichen mit Sonderbedeutung und für unsichtbare Zeichen wie &nbsp; oder &shy;, die Du im Quelltext sonst nicht erkennst.

Die Zeichen, die HTML selbst braucht

Das Kleiner-Zeichen beginnt ein Tag, das Et-Zeichen eine Zeichenreferenz, und Anführungszeichen beenden Attributwerte. Wo diese Zeichen als Text erscheinen sollen, musst Du sie maskieren. Der HTML-Standard verlangt das streng genommen nur für < im Text, für ein &, das wie eine Referenz aussieht, und für das jeweils umschließende Anführungszeichen. Sicherer ist es, & immer zu maskieren.

In PHP übernimmt das htmlspecialchars(). Aus der Eingabe

Müller & Söhne <GmbH> "Bio"

wird

Müller &amp; Söhne &lt;GmbH&gt; &quot;Bio&quot;

Gib Nutzereingaben nie ungefiltert aus – sonst kann jemand eigenes HTML oder Skripte in Deine Seite schmuggeln.

Deutsche Anführungszeichen richtig setzen

Im Deutschen öffnet das Anführungszeichen unten und schließt oben: „so“. In HTML ist das &bdquo; am Anfang und &ldquo; am Ende – nicht &rdquo;. Die Namen stammen aus dem Englischen, wo das linke obere Zeichen öffnet; im Deutschen schließt genau dieses Zeichen. Für einfache Anführungszeichen gilt dasselbe mit &sbquo; und &lsquo;: ‚so‘.

Bevorzugst Du Guillemets, zeigen die Spitzen im Deutschen nach innen: »so« mit &raquo; am Anfang und &laquo; am Ende. Das Apostroph in „geht’s“ ist typografisch das Zeichen &rsquo;.

Striche, Leerzeichen und Trennungen

  • Bindestrich (-) steht auf jeder Tastatur und braucht keine Referenz.
  • Halbgeviertstrich (&ndash;): mit Leerzeichen als Gedankenstrich, ohne als Bis-Strich wie in 9–17 Uhr.
  • Minuszeichen (&minus;) für negative Zahlen: −5 °C.
  • Geschütztes Leerzeichen (&nbsp;) hält zusammen, was nicht getrennt werden soll: 10 €, Nr. 5. Mehrere davon fasst der Browser nicht zu einem zusammen.
  • Schmales geschütztes Leerzeichen hat keinen Namen; Du schreibst es als &#8239; – etwa zwischen den Teilen von „z. B.“. &thinsp; ist zwar auch schmal, erlaubt aber einen Zeilenumbruch.
  • Weiches Trennzeichen (&shy;) markiert Stellen, an denen ein langes Wort getrennt werden darf. Der Strich erscheint nur, wenn dort tatsächlich umbrochen wird.

Benannt, dezimal oder hexadezimal

Alle drei Schreibweisen sind gleichwertig. Die numerischen funktionieren für jedes Unicode-Zeichen: &# gefolgt vom Codepunkt als Dezimalzahl oder &#x gefolgt von der Hexadezimalzahl, jeweils mit Semikolon. Benannte Referenzen gibt es nur für eine feste Liste von gut 2.000 Namen im HTML-Standard. 3 Zeichen dieser Tabelle stehen nicht darauf, etwa das große ẞ.

Bei Namen zählt die Groß- und Kleinschreibung: &Auml; ergibt Ä, &auml; ergibt ä. Setze immer das Semikolon. Einige alte Namen funktionieren aus Kompatibilitätsgründen auch ohne, verlassen solltest Du Dich darauf nicht. Wie Du Codepunkte zwischen Dezimal und Hex umrechnest, zeigt die Zahlensysteme-Tabelle; die Codes 0 bis 127 findest Du in der ASCII-Tabelle.

Häufige Fragen

Wie schreibe ich ä, ö, ü und ß in HTML?
Am einfachsten direkt, wenn die Seite UTF-8 nutzt. Als Entity schreibst Du &auml;, &ouml;, &uuml; und &szlig;, die Großbuchstaben als &Auml;, &Ouml; und &Uuml;.
Was bedeutet &nbsp;?
Non-breaking space, ein geschütztes Leerzeichen (U+00A0). An ihm bricht der Browser keine Zeile um, und mehrere davon bleiben als einzelne Abstände erhalten.
Welche Zeichen muss ich in HTML maskieren?
Das < im Text, das & und in Attributwerten das umschließende Anführungszeichen. Das > ist nicht vorgeschrieben, wird aus Gewohnheit aber meist mit maskiert.
Wie schreibe ich deutsche Anführungszeichen in HTML?
Mit &bdquo; am Anfang und &ldquo; am Ende, also „so“. Einfache deutsche Anführungszeichen sind &sbquo; und &lsquo;.
Gibt es für jedes Zeichen einen Entity-Namen?
Nein. Das schmale geschützte Leerzeichen oder das große ẞ haben keinen. Für sie nutzt Du die numerische Referenz, zum Beispiel &#x1E9E; für ẞ.

Quellen