Escape-Ziel
Tags schützen
Weitere Optionen
0 chars 0 lines 0 bytes
0 chars 0 lines 0 bytes

HTML Escape — HTML-Sonderzeichen und HTML-Entitäten umwandeln

Wandeln Sie HTML-Sonderzeichen wie <, >, &, " und ' in HTML-Entitäten um, damit Browser Inhalte als Text anzeigen und nicht als HTML-Code interpretieren.

Sie können HTML-Entitäten auch wieder in ihre ursprünglichen Zeichen zurückwandeln.
Die gesamte Verarbeitung erfolgt direkt im Browser und Ihre Eingaben werden nicht an einen Server übertragen.

Verwenden Sie das Tool URL-Encoding & Decoding, um Sonderzeichen in URLs zu verarbeiten,
und Base64-Encoding & Decoding, um Daten sicher als Text zu übertragen.

Unstrukturierte JSON-Daten formatieren und validieren | JSON-Formatter, JSON-Validator, JSON Formatierung

Warum HTML Escape wichtig ist — XSS verhindern und Inhalte sicher ausgeben

Werden HTML-Sonderzeichen nicht escaped, kann der Browser Benutzereingaben als ausführbaren Code interpretieren.
So kann beispielsweise <script>alert('XSS')</script> direkt ausgeführt werden, während Escaping den Inhalt nur als Text anzeigt.

HTML Escape ist überall wichtig, wo Inhalte von Benutzern angezeigt werden – etwa in Kommentaren, Suchergebnissen oder Community-Bereichen.
Auch wenn die Verarbeitung bereits im Backend erfolgt, eignet sich dieses Tool hervorragend zum Prüfen und Testen der Ausgabe.

Wichtige HTML-Entitäten — Liste der Zeichen für HTML Escape

Dies sind die wichtigsten HTML-Zeichen, die escaped werden sollten, zusammen mit den zugehörigen Entitätscodes.

Zeichen Entitätscode Beschreibung
< &lt; Öffnende spitze Klammer, HTML-Tag
> &gt; Schließende spitze Klammer, HTML-Tag
& &amp; Beginn einer HTML-Entität
" &quot; Doppelte Anführungszeichen in Attributen
' &apos; Einfache Anführungszeichen in Attributen

< und > werden als HTML-Tags interpretiert, während & den Beginn einer Entität kennzeichnet und daher zuerst verarbeitet werden sollte.
Doppelte und einfache Anführungszeichen sollten innerhalb von HTML-Attributen ebenfalls escaped werden, damit die HTML-Struktur nicht beschädigt wird.
&nbsp; wird verwendet, um mehrere Leerzeichen beizubehalten oder geschützte Leerzeichen ohne Zeilenumbruch darzustellen.

Was ist HTML Unescape? — HTML-Entitäten in Zeichen zurückwandeln

Unescape ist der umgekehrte Vorgang von Escape. Dabei werden HTML-Entitäten wie &lt;, &gt; und &amp; wieder in ihre ursprünglichen Zeichen wie <, > und & umgewandelt.

Typische Anwendungsfälle sind das Wiederherstellen von HTML-Entitäten aus API-Antworten oder Datenbanken,
das Zurückwandeln von escaped Inhalten aus E-Mail-Vorlagen oder externen Systemen vor der Bearbeitung,
sowie das Debuggen mehrfach kodierter Zeichenfolgen auf dem Server.

Mit den Schaltflächen ESCAPE / UNESCAPE am oberen Rand können Sie zwischen beiden Modi wechseln.

Vergleich von Escape-Formaten — HTML, JavaScript und JSON

Die Art des Escapings hängt davon ab, wo Sonderzeichen verwendet werden.

HTML verwendet Entitäten wie &lt;, &gt;, &amp; und &quot;. Dieses Format eignet sich für Text, der direkt in HTML eingefügt wird.

JavaScript-Zeichenfolgen verwenden Backslash-Escaping wie \", \' und \\. Dies wird für Zeichenfolgen innerhalb von JavaScript-Code verwendet.

JSON folgt der JSON-Spezifikation und escaped Anführungszeichen sowie Steuerzeichen. Es wird häufig in API-Antworten und JSON-Dateien verwendet.

Dieses Tool unterstützt HTML-, JavaScript- und JSON-Formate, damit Sie das passende Format auswählen und direkt kopieren können.

HTML Escape Referenz nach Sprache — Serverseitige Verarbeitung

Nachdem Sie das Ergebnis mit diesem Tool geprüft haben, sollte HTML Escape in echten Anwendungen weiterhin automatisch auf dem Server erfolgen.

Sprache Escape-Methode
Java (Spring) HtmlUtils.htmlEscape(str)
Java (Commons Text) StringEscapeUtils.escapeHtml4(str)
JavaScript textContent / createTextNode()
Python html.escape(str)
PHP htmlspecialchars($str, ENT_QUOTES)
Go html.EscapeString(str)
Ruby CGI.escapeHTML(str)

Template-Engines wie Thymeleaf, Jinja2 und Blade escapen Inhalte normalerweise automatisch über Ausdrücke wie th:text und {{ }}.
Wenn jedoch HTML direkt über th:utext oder Raw-Filter ausgegeben wird, sollte die Ausgabe immer manuell geprüft werden.

Häufig verwendete HTML-Entitäten — Schnellreferenz zum Kopieren

Hier finden Sie häufig verwendete HTML-Entitäten für die tägliche Entwicklung. Per Klick kopieren und direkt verwenden.

Zeichen Benannte Entität Numerische Referenz Beschreibung
<&lt;&#60;Kleiner-als-Zeichen, Tag-Beginn
>&gt;&#62;Größer-als-Zeichen, Tag-Ende
&&amp;&#38;Ampersand
"&quot;&#34;Doppelte Anführungszeichen
'&apos;&#39;Einfache Anführungszeichen
Leerzeichen&nbsp;&#160;Geschütztes Leerzeichen
©&copy;&#169;Copyright-Zeichen
®&reg;&#174;Eingetragenes Warenzeichen
&trade;&#8482;Markenzeichen
&mdash;&#8212;Geviertstrich

Benannte Entitäten (Format &lt;) und numerische Referenzen (Format &#60;) erzeugen dasselbe Ergebnis.
Numerische Referenzen können außerdem Zeichen darstellen, für die keine benannte Entität existiert.

Häufig gestellte Fragen

Ja. Es handelt sich um zwei unterschiedliche Kodierungsverfahren mit verschiedenen Einsatzzwecken.

HTML Escape wandelt Sonderzeichen in Formen wie &lt; und &amp; um, damit Browser sie als Text statt als HTML-Tags oder Entitäten interpretieren.
URL-Encoding wandelt Zeichen, die nicht direkt in URLs verwendet werden sollten, in Prozentkodierungen wie %2F und %20 um.
Da beide Verfahren unterschiedliche Zwecke erfüllen, kann eine Verwechslung zu unerwarteten Ergebnissen führen.

Wenn HTML-Inhalte über URL-Parameter übertragen werden, sollte zuerst URL-Encoding angewendet und HTML Escape anschließend separat bei der Ausgabe verarbeitet werden.

Ja. Escaping ist auch außerhalb der XSS-Abwehr wichtig.

Ein typischer Fall entsteht, wenn Benutzereingaben direkt in HTML-Attribute eingefügt werden.
Enthält beispielsweise ein Wert für href oder value Anführungszeichen und wird ohne Escaping eingefügt, kann die Attributstruktur beschädigt werden und unerwartetes Verhalten verursachen.

Auch bei E-Mail-Vorlagen, PDF-Erstellung, CSV-Exporten und anderen Ausgabeformaten ist kontextabhängiges Escaping erforderlich.

Ja. Bei Verwendung des Attributs th:text führt Thymeleaf HTML Escape automatisch aus.
Enthält das Model beispielsweise test, wird der Inhalt bei der Ausgabe mit th:text als Text dargestellt und nicht als HTML interpretiert.

Im Gegensatz dazu gibt th:utext HTML ohne Escaping aus. Wird es mit nicht vertrauenswürdigen Eingaben verwendet, können XSS-Sicherheitsrisiken entstehen.
Verwenden Sie th:utext nur für Inhalte aus vertrauenswürdigen Quellen, beispielsweise intern erstellte und geprüfte HTML-Inhalte.

Nein. Alle Escape- und Unescape-Vorgänge werden vollständig im Browser ausgeführt.

Eingegebene Daten – einschließlich HTML-Code, Skripten, API-Schlüsseln und anderer Inhalte – werden nicht an externe Server übertragen.

Dieses Tool konvertiert nur Sonderzeichen, die in HTML normalerweise escaped werden müssen, beispielsweise <, >, &, " und '.
Unicode-Zeichen, Emojis und die meisten modernen Schriftsysteme lassen sich in HTML5 mit UTF-8 normalerweise ohne zusätzliches HTML Escaping korrekt darstellen.

In älteren Umgebungen oder ASCII-beschränkten Systemen kann es jedoch notwendig sein, numerische Zeichenreferenzen auf Basis von Unicode-Codepunkten anstelle direkter Zeichen zu verwenden. In solchen Fällen kann zusätzliche Zeichenkodierung erforderlich sein.

Nicht ganz, auch wenn beide Begriffe häufig gleich verwendet werden.
Eine HTML-Entity ist eine von HTML definierte Schreibweise zur Darstellung bestimmter Zeichen, beispielsweise &lt;, &amp; oder &copy;.

HTML Escape bezeichnet den Vorgang, Sonderzeichen in HTML-Entities umzuwandeln, damit Browser sie als Text statt als Markup interpretieren.

Mit anderen Worten: HTML-Entities sind das Ergebnis des Escaping-Prozesses. In Suchergebnissen und Entwicklerdokumentationen werden beide Begriffe oft nahezu synonym verwendet.