HTML escapen / unescapen

Text für HTML escapen oder Zeichenreferenzen im Browser unescapen. Kodiert & < > " und ' für Textknoten; dekodiert benannte und numerische Referenzen.

Funktionsweise
  • Escapt & < > " und ' für HTML-Textknoten. Kein vollständiger XSS-Sanitizer für Attribute oder Skripte.

Escapt & < > " und ' für HTML-Textknoten. Kein vollständiger XSS-Sanitizer für Attribute oder Skripte.

Über HTML-Escaping

Was ist HTML-Escaping?

HTML-Escaping ersetzt Zeichen mit besonderer Bedeutung in HTML, damit sie als Text statt als Markup dargestellt werden. Diese Seite kodiert & < > " und ' als & < > " und '.

Unescapen kehrt diesen Vorgang um: Es dekodiert die benannten Referenzen amp, lt, gt, quot und apos sowie numerische Referenzen wie ' und '. Die Verarbeitung erfolgt im Browser. Das Escapen von Textknoten ersetzt keine kontextgerechte Kodierung und keinen XSS-Sanitizer.

Escapen und Unescapen im Code

JavaScript
text.replace(/&/g, "&amp;")
    .replace(/</g, "&lt;")
    .replace(/>/g, "&gt;")
    .replace(/"/g, "&quot;")
    .replace(/'/g, "&#39;")
Python
html.escape(text, quote=True)
html.unescape(text)
Entitäten
&  &amp;
<  &lt;
>  &gt;
"  &quot;
'  &#39;

FAQ zum HTML-Escaping

Was bedeutet HTML-Escaping?
HTML-Escaping kodiert Zeichen, die sonst als Markup interpretiert würden. Diese Seite wandelt & < > " und ' in & < > " und ' um, damit sie als Text erscheinen.
Was bedeutet HTML-Unescaping?
HTML-Unescaping dekodiert Zeichenreferenzen zurück in Text. Unterstützt werden die benannten Referenzen amp, lt, gt, quot und apos sowie dezimale und hexadezimale numerische Referenzen.
Verhindert HTML-Escaping XSS?
Nein. Diese fünf Zeichen zu escapen reicht für HTML-Textknoten, aber Attribute, URLs und Skripte erfordern eine kontextabhängige Kodierung. Dies ist kein Sanitizer.
Wie lassen sich Strings im Code für HTML escapen?
In JavaScript & < > " und ' durch die entsprechenden Entitäten ersetzen. In Python html.escape(text, quote=True) und html.unescape(text) verwenden.