HTML Entities Encoder / Decoder

Kodiere unsichere HTML-Zeichen in Entitäten und dekodiere Entitäten zurück zu Zeichen.

Processed in your browserNo upload, no signup

Text

0 lines · 0 chars

Escaped

0 lines · 0 bytes
Deine Eingabe wird lokal verarbeitet und nicht hochgeladen. Überprüfe es mit DevTools → Network.

HTML Entities Encoder / Decoder Beispiele.

// HTML escapen

// Entitäten unescapen

Häufig gestellte Fragen.

Warum HTML escapen?

Um XSS-Angriffe zu verhindern und sicherzustellen, dass Inhalte korrekt angezeigt werden.

Warum HTML-Escaping wichtig ist

Bestimmte Zeichen haben in HTML eine besondere Bedeutung: < und > definieren Tags, & leitet Entitäten ein, und " und ' begrenzen Attribute. Wenn diese Zeichen in Textinhalten erscheinen, müssen sie escaped werden, damit der Browser sie korrekt darstellt.

Ohne Escaping interpretiert der Browser das & in "Matrikel & Prüfung" als Beginn einer Entität und versucht, eine solche aufzulösen. Das Ergebnis ist ein falsch dargestellter oder gar nicht sichtbarer Text.

Das Escaping ist der erste und grundlegendste Schutz gegen Cross-Site Scripting (XSS). Wenn Benutzereingaben unescaped in eine HTML-Seite eingefügt werden, können Angreifer beliebigen JavaScript-Code einschleusen.

XSS-Schutz vs. Escaping

HTML-Escaping allein schützt vor einfachen XSS-Angriffen, indem < und > in ihre Entitätsformen &lt; und &gt; umgewandelt werden. Dadurch wird eingeschleuster Code als normaler Text dargestellt und nicht ausgeführt.

Für komplexere Anwendungsfälle reicht Escaping nicht aus. Tools wie DOMPurify bereinigen HTML-Input gründlich, indem sie nur erlaubte Tags und Attribute zulassen und potenziell gefährlichen Code entfernen.

Die beste Strategie kombiniert beide Ansätze: Benutzereingaben werden beim Einfügen in HTML-Bereiche escaped, und bei der Verarbeitung von rich HTML wird zusätzlich eine Sanitization durchgeführt.

Benannte vs. numerische Entitäten

HTML bietet zwei Arten, Sonderzeichen als Entitäten darzustellen: benannte Entitäten wie &amp; für & und &lt; für <, sowie numerische Entitäten wie &#60; für < und &#x3C; für denselben Wert in Hexadezimal.

Benannte Entitäten sind lesbarer und werden bevorzugt, wenn sie verfügbar sind. Es gibt nur eine begrenzte Menge an benannten Entitäten – die wichtigsten sind &amp;, &lt;, &gt;, &quot; und &apos;.

Numerische Entitäten können jeden Unicode-Zeichencode darstellen und sind daher universell einsetzbar. Für Zeichen ohne benannte Entität ist die numerische Variante die einzige Option.

Verwandte Tools.