HTML-Entity-Encoder / -Decoder — HTML escapen und unescapen

Escape Text für HTML mit benannten oder numerischen Entities, dekodiere Referenzen im Stil von & zurück in Zeichen und durchsuche eine Entity-Referenztabelle.

Kodiert
<p class="note">Fish & chips — £4.50 at Café "Ōshima" 🐟</p>

Referenz der HTML-Entities

ZeichenBenanntDezimalHexKopieren
""""
&&&&
''''
<&lt;&#60;&#x3C;
>&gt;&#62;&#x3E;
·&nbsp;&#160;&#xA0;
¡&iexcl;&#161;&#xA1;
¢&cent;&#162;&#xA2;
£&pound;&#163;&#xA3;
¤&curren;&#164;&#xA4;
¥&yen;&#165;&#xA5;
¦&brvbar;&#166;&#xA6;
§&sect;&#167;&#xA7;
¨&uml;&#168;&#xA8;
©&copy;&#169;&#xA9;
ª&ordf;&#170;&#xAA;
«&laquo;&#171;&#xAB;
¬&not;&#172;&#xAC;
·&shy;&#173;&#xAD;
®&reg;&#174;&#xAE;
¯&macr;&#175;&#xAF;
°&deg;&#176;&#xB0;
±&plusmn;&#177;&#xB1;
²&sup2;&#178;&#xB2;
³&sup3;&#179;&#xB3;
´&acute;&#180;&#xB4;
µ&micro;&#181;&#xB5;
&para;&#182;&#xB6;
·&middot;&#183;&#xB7;
¸&cedil;&#184;&#xB8;
¹&sup1;&#185;&#xB9;
º&ordm;&#186;&#xBA;
»&raquo;&#187;&#xBB;
¼&frac14;&#188;&#xBC;
½&frac12;&#189;&#xBD;
¾&frac34;&#190;&#xBE;
¿&iquest;&#191;&#xBF;
À&Agrave;&#192;&#xC0;
Á&Aacute;&#193;&#xC1;
Â&Acirc;&#194;&#xC2;
Ã&Atilde;&#195;&#xC3;
Ä&Auml;&#196;&#xC4;
Å&Aring;&#197;&#xC5;
Æ&AElig;&#198;&#xC6;
Ç&Ccedil;&#199;&#xC7;
È&Egrave;&#200;&#xC8;
É&Eacute;&#201;&#xC9;
Ê&Ecirc;&#202;&#xCA;
Ë&Euml;&#203;&#xCB;
Ì&Igrave;&#204;&#xCC;
Í&Iacute;&#205;&#xCD;
Î&Icirc;&#206;&#xCE;
Ï&Iuml;&#207;&#xCF;
Ð&ETH;&#208;&#xD0;
Ñ&Ntilde;&#209;&#xD1;
Ò&Ograve;&#210;&#xD2;
Ó&Oacute;&#211;&#xD3;
Ô&Ocirc;&#212;&#xD4;
Õ&Otilde;&#213;&#xD5;
Ö&Ouml;&#214;&#xD6;
×&times;&#215;&#xD7;
Ø&Oslash;&#216;&#xD8;
Ù&Ugrave;&#217;&#xD9;
Ú&Uacute;&#218;&#xDA;
Û&Ucirc;&#219;&#xDB;
Ü&Uuml;&#220;&#xDC;
Ý&Yacute;&#221;&#xDD;
Þ&THORN;&#222;&#xDE;
ß&szlig;&#223;&#xDF;
à&agrave;&#224;&#xE0;
á&aacute;&#225;&#xE1;
â&acirc;&#226;&#xE2;
ã&atilde;&#227;&#xE3;
ä&auml;&#228;&#xE4;
å&aring;&#229;&#xE5;
æ&aelig;&#230;&#xE6;
ç&ccedil;&#231;&#xE7;
è&egrave;&#232;&#xE8;
é&eacute;&#233;&#xE9;
ê&ecirc;&#234;&#xEA;
ë&euml;&#235;&#xEB;
ì&igrave;&#236;&#xEC;
í&iacute;&#237;&#xED;
î&icirc;&#238;&#xEE;
ï&iuml;&#239;&#xEF;
ð&eth;&#240;&#xF0;
ñ&ntilde;&#241;&#xF1;
ò&ograve;&#242;&#xF2;
ó&oacute;&#243;&#xF3;
ô&ocirc;&#244;&#xF4;
õ&otilde;&#245;&#xF5;
ö&ouml;&#246;&#xF6;
÷&divide;&#247;&#xF7;
ø&oslash;&#248;&#xF8;
ù&ugrave;&#249;&#xF9;
ú&uacute;&#250;&#xFA;
û&ucirc;&#251;&#xFB;
ü&uuml;&#252;&#xFC;
ý&yacute;&#253;&#xFD;
þ&thorn;&#254;&#xFE;
ÿ&yuml;&#255;&#xFF;
Α&Alpha;&#913;&#x391;
Β&Beta;&#914;&#x392;
Γ&Gamma;&#915;&#x393;
Δ&Delta;&#916;&#x394;
Ε&Epsilon;&#917;&#x395;
Ζ&Zeta;&#918;&#x396;
Η&Eta;&#919;&#x397;
Θ&Theta;&#920;&#x398;
Ι&Iota;&#921;&#x399;
Κ&Kappa;&#922;&#x39A;
Λ&Lambda;&#923;&#x39B;
Μ&Mu;&#924;&#x39C;
Ν&Nu;&#925;&#x39D;
Ξ&Xi;&#926;&#x39E;
Ο&Omicron;&#927;&#x39F;
Π&Pi;&#928;&#x3A0;
Ρ&Rho;&#929;&#x3A1;
Σ&Sigma;&#931;&#x3A3;
Τ&Tau;&#932;&#x3A4;
Υ&Upsilon;&#933;&#x3A5;
Φ&Phi;&#934;&#x3A6;
Χ&Chi;&#935;&#x3A7;
Ψ&Psi;&#936;&#x3A8;
Ω&Omega;&#937;&#x3A9;
α&alpha;&#945;&#x3B1;
β&beta;&#946;&#x3B2;
γ&gamma;&#947;&#x3B3;
δ&delta;&#948;&#x3B4;
ε&epsilon;&#949;&#x3B5;
ζ&zeta;&#950;&#x3B6;
η&eta;&#951;&#x3B7;
θ&theta;&#952;&#x3B8;
ι&iota;&#953;&#x3B9;
κ&kappa;&#954;&#x3BA;
λ&lambda;&#955;&#x3BB;
μ&mu;&#956;&#x3BC;
ν&nu;&#957;&#x3BD;
ξ&xi;&#958;&#x3BE;
ο&omicron;&#959;&#x3BF;
π&pi;&#960;&#x3C0;
ρ&rho;&#961;&#x3C1;
ς&sigmaf;&#962;&#x3C2;
σ&sigma;&#963;&#x3C3;
τ&tau;&#964;&#x3C4;
υ&upsilon;&#965;&#x3C5;
φ&phi;&#966;&#x3C6;
χ&chi;&#967;&#x3C7;
ψ&psi;&#968;&#x3C8;
ω&omega;&#969;&#x3C9;
Œ&OElig;&#338;&#x152;
œ&oelig;&#339;&#x153;
Š&Scaron;&#352;&#x160;
š&scaron;&#353;&#x161;
Ÿ&Yuml;&#376;&#x178;
ƒ&fnof;&#402;&#x192;
ˆ&circ;&#710;&#x2C6;
˜&tilde;&#732;&#x2DC;
ϑ&thetasym;&#977;&#x3D1;
ϒ&upsih;&#978;&#x3D2;
ϖ&piv;&#982;&#x3D6;
·&ensp;&#8194;&#x2002;
·&emsp;&#8195;&#x2003;
·&thinsp;&#8201;&#x2009;
·&zwnj;&#8204;&#x200C;
·&zwj;&#8205;&#x200D;
·&lrm;&#8206;&#x200E;
·&rlm;&#8207;&#x200F;
–&ndash;&#8211;&#x2013;
—&mdash;&#8212;&#x2014;
‘&lsquo;&#8216;&#x2018;
’&rsquo;&#8217;&#x2019;
‚&sbquo;&#8218;&#x201A;
“&ldquo;&#8220;&#x201C;
”&rdquo;&#8221;&#x201D;
„&bdquo;&#8222;&#x201E;
†&dagger;&#8224;&#x2020;
‡&Dagger;&#8225;&#x2021;
•&bull;&#8226;&#x2022;
…&hellip;&#8230;&#x2026;
‰&permil;&#8240;&#x2030;
′&prime;&#8242;&#x2032;
″&Prime;&#8243;&#x2033;
‹&lsaquo;&#8249;&#x2039;
›&rsaquo;&#8250;&#x203A;
‾&oline;&#8254;&#x203E;
⁄&frasl;&#8260;&#x2044;
€&euro;&#8364;&#x20AC;
ℑ&image;&#8465;&#x2111;
℘&weierp;&#8472;&#x2118;
ℜ&real;&#8476;&#x211C;
™&trade;&#8482;&#x2122;
ℵ&alefsym;&#8501;&#x2135;
←&larr;&#8592;&#x2190;
↑&uarr;&#8593;&#x2191;
→&rarr;&#8594;&#x2192;
↓&darr;&#8595;&#x2193;
↔&harr;&#8596;&#x2194;
↵&crarr;&#8629;&#x21B5;
⇐&lArr;&#8656;&#x21D0;
⇑&uArr;&#8657;&#x21D1;
⇒&rArr;&#8658;&#x21D2;
⇓&dArr;&#8659;&#x21D3;
⇔&hArr;&#8660;&#x21D4;
∀&forall;&#8704;&#x2200;
∂&part;&#8706;&#x2202;
∃&exist;&#8707;&#x2203;
∅&empty;&#8709;&#x2205;
∇&nabla;&#8711;&#x2207;
∈&isin;&#8712;&#x2208;
∉&notin;&#8713;&#x2209;
∋&ni;&#8715;&#x220B;
∏&prod;&#8719;&#x220F;
∑&sum;&#8721;&#x2211;
−&minus;&#8722;&#x2212;
∗&lowast;&#8727;&#x2217;
√&radic;&#8730;&#x221A;
∝&prop;&#8733;&#x221D;
∞&infin;&#8734;&#x221E;
∠&ang;&#8736;&#x2220;
∧&and;&#8743;&#x2227;
∨&or;&#8744;&#x2228;
∩&cap;&#8745;&#x2229;
∪&cup;&#8746;&#x222A;
∫&int;&#8747;&#x222B;
∴&there4;&#8756;&#x2234;
∼&sim;&#8764;&#x223C;
≅&cong;&#8773;&#x2245;
≈&asymp;&#8776;&#x2248;
≠&ne;&#8800;&#x2260;
≡&equiv;&#8801;&#x2261;
≤&le;&#8804;&#x2264;
≥&ge;&#8805;&#x2265;
⊂&sub;&#8834;&#x2282;
⊃&sup;&#8835;&#x2283;
⊄&nsub;&#8836;&#x2284;
⊆&sube;&#8838;&#x2286;
⊇&supe;&#8839;&#x2287;
⊕&oplus;&#8853;&#x2295;
⊗&otimes;&#8855;&#x2297;
⊥&perp;&#8869;&#x22A5;
⋅&sdot;&#8901;&#x22C5;
⌈&lceil;&#8968;&#x2308;
⌉&rceil;&#8969;&#x2309;
⌊&lfloor;&#8970;&#x230A;
⌋&rfloor;&#8971;&#x230B;
⟨&lang;&#10216;&#x27E8;
⟩&rang;&#10217;&#x27E9;
◊&loz;&#9674;&#x25CA;
♠&spades;&#9824;&#x2660;
♣&clubs;&#9827;&#x2663;
♥&hearts;&#9829;&#x2665;
♦&diams;&#9830;&#x2666;

253 von 253 Entities. Unsichtbare Zeichen (Leerzeichen, Joiner, weiches Trennzeichen) werden als · angezeigt.

Läuft komplett in deinem Browser. Nichts, was du eingibst, wird an uns gesendet oder gespeichert. Alle kostenlosen Tools ansehen.

Ein Problem gefunden oder etwas, das besser sein könnte? Wir lesen jede Nachricht und beheben Fehler schnell.

Dieser HTML-Entity-Encoder und -Decoder wandelt Zeichen in HTML-Zeichenreferenzen um und zurück. Beim Kodieren werden die fünf Zeichen mit besonderer Bedeutung im Markup (< > & " ') zu &lt; &gt; &amp; &quot; und &#39;, sodass Text auf einer Seite angezeigt oder in ein Attribut gesetzt werden kann, ohne als HTML gelesen zu werden. Du kannst auch jedes Nicht-ASCII-Zeichen kodieren, was hilft, wenn ein Template, eine E-Mail oder ein Altsystem UTF-8 verstümmelt.

Das Dekodieren verarbeitet benannte Entities wie &eacute; und &hellip;, dezimale Referenzen wie &#233; und hexadezimale wie &#xE9; nach den Regeln des HTML5-Parsers selbst, einschließlich seiner Eigenheiten bei ungültigen Codepoints. Namen außerhalb der integrierten Tabelle mit 253 Einträgen schlägt der HTML-Parser deines Browsers nach, sodass alle über 2.000 Namen von HTML5 dekodiert werden. Unbekannte Namen bleiben unverändert und werden aufgelistet, statt stillschweigend zu verschwinden. Dieses Tool wandelt Text um; es ist kein HTML-Sanitizer.

So funktioniert’s

  1. Wähle Kodieren oder Dekodieren.
  2. Wähle beim Kodieren den Umfang: nur die fünf unsicheren Zeichen (reicht für normales HTML), alle Nicht-ASCII-Zeichen oder alles außer Buchstaben, Ziffern und Leerzeichen.
  3. Wähle benannte, dezimale oder hexadezimale Referenzen. Der benannte Modus weicht bei Zeichen ohne Namen auf dezimal aus.
  4. Tippe oder füge ein; die Ausgabe aktualisiert sich beim Tippen. Tauschen schickt die Ausgabe zurück in die Eingabe, um einen Hin-und-zurück-Test zu machen.
  5. Durchsuche die Referenztabelle nach Name, Zeichen, Dezimalcode oder Gruppe (zum Beispiel „arrow“ oder „greek“) und kopiere eine Entity.

Häufige Fragen

Welche Zeichen müssen in HTML escapt werden?

Im Textinhalt müssen < und & escapt werden, weil sie Tags und Entities einleiten. In einem Attributwert escapest du zusätzlich das Anführungszeichen, das das Attribut begrenzt: " als &quot; oder ' als &#39;. > als &gt; zu escapen ist nicht zwingend nötig, aber üblich und unschädlich. Alles andere, auch Buchstaben mit Akzent und Emojis, kann in einer UTF-8-Seite unverändert stehen.

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

&nbsp; ist U+00A0, ein geschütztes Leerzeichen. Browser brechen an ihm keine Zeile um und fassen mehrere davon nicht zu einem zusammen, anders als bei gewöhnlichen Leerzeichen. Es ist nützlich, um „10 kg“ oder „Dr. Müller“ auf einer Zeile zusammenzuhalten. Reihenweise &nbsp; fürs Layout zu verwenden ist ein Zeichen, dass die Aufgabe eigentlich in CSS gehört.

Soll ich &apos; oder &#39; verwenden?

&apos; ist in XML und HTML5 definiert, aber nicht in HTML 4, sodass sehr alte Browser und manche E-Mail-Programme es nicht erkennen. &#39; funktioniert überall – deshalb verwendet dieser Encoder es auch im benannten Modus für den Apostroph. In einer modernen HTML5-Seite geht beides.

Reicht HTML-Kodierung aus, um XSS zu verhindern?

Das Escapen von < > & " ' verhindert Injektionen in HTML-Text und Attributwerte in Anführungszeichen, was den häufigsten Fall abdeckt. Es macht einen Wert aber nicht sicher in einem <script>-Block, einem style-Attribut, einem Attribut ohne Anführungszeichen oder einer URL wie href="javascript:...". Jeder dieser Kontexte braucht eine eigene Kodierung oder Validierung. Nutze eine Template-Engine, die standardmäßig escapt, und einen Sanitizer wie DOMPurify, wenn du HTML von Nutzern annehmen musst.

Warum sehe ich &amp;amp; oder é in meinem Text?

&amp;amp; bedeutet, dass der Text zweimal HTML-kodiert wurde: & wurde zu &amp;, und dann wurde dieses & erneut kodiert. Dekodiere einmal pro zusätzlicher Ebene. é statt é ist dagegen kein Entity-Problem, sondern ein falsch zugeordneter Zeichensatz: UTF-8-Bytes wurden als Windows-1252 oder Latin-1 gelesen. Korrigiere die Zeichensatzangabe oder die Kodierung der Datenbankverbindung; Entities verdecken nur das Symptom.

Benannte, dezimale und hexadezimale Referenzen

HTML bietet drei Arten, dasselbe Zeichen zu schreiben. Eine benannte Referenz wie &copy; ist lesbar, existiert aber nur für die Zeichen, für die HTML Namen definiert. Eine dezimale Referenz wie &#169; und eine hexadezimale wie &#xA9; funktionieren für jeden Unicode-Codepoint, auch für Emojis: 🌲 ist &#127794; oder &#x1F332; – eine Referenz für das ganze Zeichen, nicht zwei für seine UTF-16-Hälften.

Die 253 Namen in der Tabelle dieses Tools sind der HTML-4-Satz plus &apos;. Sie werden von jedem Browser, E-Mail-Programm und jeder HTML-Bibliothek unterstützt. HTML5 hat etwa 2.000 weitere hinzugefügt, überwiegend mathematische Symbole (&NotEqualTilde;, &bigotimes;), die in modernen Browsern dekodiert werden, aber besser als reines UTF-8 oder numerische Referenzen geschrieben werden, wenn ältere Tools den Inhalt verarbeiten.

Namen unterscheiden Groß- und Kleinschreibung: &Eacute; ist É und &eacute; ist é. Einige wenige, etwa &COPY; und &AMP;, gibt es aus historischen Gründen auch in Großbuchstaben, die kleingeschriebenen Formen sind aber die üblichen.

Wann kodieren und wann nicht

• Nutzereingaben auf einer Seite anzeigen: die fünf unsicheren Zeichen bei der Ausgabe im Template escapen, nicht beim Speichern in der Datenbank.

• Codebeispiele in einem Blogartikel oder einer Dokumentation: < und & escapen, damit Tags als Text erscheinen.

• E-Mail-Templates und Altsysteme mit unzuverlässigem UTF-8: Alle Nicht-ASCII-Zeichen in numerische Referenzen zu kodieren, lässt den Inhalt jeden Zeichensatz überstehen.

• Moderne UTF-8-Seiten: Buchstaben mit Akzent, typografische Anführungszeichen oder Emojis nicht kodieren. Normale Zeichen sind kleiner, durchsuchbar und leichter zu bearbeiten.

• JSON, URLs und JavaScript-Strings: HTML-Entities bedeuten dort nichts. Verwende jeweils JSON-Escaping, Prozentkodierung oder JavaScript-String-Escapes.

Wie numerische Referenzen dekodiert werden

Die HTML5-Spezifikation legt fest, was ein Parser mit merkwürdigen numerischen Referenzen tun muss, und dieser Decoder folgt ihr. &#0;, Referenzen auf Surrogat-Codepoints (&#xD800;) und Werte über U+10FFFF werden zum Ersatzzeichen U+FFFD. Referenzen im Bereich &#128; bis &#159; werden als Windows-1252 gelesen, &#150; ist also ein Halbgeviertstrich und &#128; das Eurozeichen – denn das meinten alte Seiten, als sie sie schrieben.

Benannte Referenzen werden nur dekodiert, wenn sie mit einem Semikolon enden. Browser akzeptieren im Text zwar auch einige alte Namen ohne Semikolon, etwa &copy oder &amp, aber dieses Verhalten hängt davon ab, was folgt; Inhalte sollten daher immer das Semikolon enthalten.

Ähnliche kostenlose Tools

  • URL-Encoder / -Decoder — Kodiere oder dekodiere Text für URLs per Prozentkodierung im Komponenten-, Voll-URL- oder Formularmodus und bearbeite die Query-Parameter einer URL in einer Tabelle.
  • Base64-Encoder / -Decoder — Kodiere Text oder Dateien in Base64, mach aus Bildern Data-URIs mit CSS- und <img>-Snippets und dekodiere Base64 zurück in eine Datei mit Vorschau. Nichts verlässt deinen Browser.
  • Meta-Tag-Generator — Gib Title, Description und Social-Card-Angaben einer Seite ein und erhalte einen vollständigen, korrekt maskierten <head>-Block mit Live-Längenzählern.
  • JSON Formatter — JSON formatieren, minifizieren und validieren, Parse-Fehler mit Zeile und Spalte. Im Browser, ohne Upload.