HTML Encoder/Decoder

HTML-Sonderzeichen kodieren und dekodieren.

Wie funktioniert HTML-Kodierung?

Beim Kodieren werden HTML-Sonderzeichen wie <, > und & in ihre Entity-Schreibweise (&lt;, &gt;, &amp;) umgewandelt, damit sie nicht als HTML-Markup interpretiert werden. Beim Dekodieren läuft der Vorgang umgekehrt.

Beispiel

<div> wird zu &lt;div&gt; kodiert – so lässt sich HTML-Code als reiner Text anzeigen, ohne dass der Browser ihn ausführt.

Zweites Beispiel

Ein Kommentarfeld erhält die Eingabe <script>alert(1)</script>. Wird dieser Text vor der Anzeige kodiert, entsteht &lt;script&gt;alert(1)&lt;/script&gt; – der Browser zeigt den Text als sichtbare Zeichenkette an, statt das enthaltene Skript auszuführen. Genau dieser Schritt ist einer der Bausteine, um Cross-Site-Scripting (XSS) bei nutzergenerierten Inhalten zu verhindern.

Wann brauchst du den HTML-Encoder?

  • Code-Beispiele oder Markup-Schnipsel in einem Blogartikel oder einer Doku so einbetten, dass sie als Text sichtbar bleiben statt gerendert zu werden.
  • Nutzereingaben (Kommentare, Formulardaten) vor der Anzeige in HTML kodieren, um XSS-Lücken zu vermeiden.
  • Eine bereits kodierte Zeichenkette aus einer API-Antwort oder einem CMS-Export zurückdekodieren, um den ursprünglichen Text zu lesen.
  • Sonderzeichen wie Anführungszeichen in einem HTML-Attributwert korrekt darstellen, ohne das Attribut vorzeitig zu beenden.

Gut zu wissen: HTML-Kodierung allein macht Nutzereingaben nicht automatisch vollständig sicher – wer HTML-Markup (z. B. für Formatierungen) zulassen will, braucht zusätzlich eine echte Sanitizer-Bibliothek, die erlaubte Tags und Attribute gezielt filtert. Reines Kodieren eignet sich vor allem, um Text sicher als Text darzustellen, nicht um kontrolliert eingeschränktes HTML zuzulassen.

Häufige Fragen

Wofür wird HTML-Kodierung benötigt?

Um HTML-Code als sichtbaren Text darzustellen (z. B. in Code-Beispielen) oder um Nutzereingaben sicher in HTML einzubetten und Cross-Site-Scripting (XSS) zu vermeiden.

Welche Zeichen werden kodiert?

Vor allem <, >, & sowie Anführungszeichen – die Zeichen, die in HTML eine besondere Bedeutung haben.

Reicht HTML-Kodierung allein aus, um eine Anwendung gegen XSS abzusichern?

Sie ist ein wichtiger Baustein, aber kein Komplettschutz. Wer eingeschränktes HTML von Nutzern zulassen will, braucht zusätzlich eine echte Sanitizer-Bibliothek statt reiner Kodierung.

Muss ich Anführungszeichen auch innerhalb von normalem Text kodieren?

Im reinen Textinhalt sind Anführungszeichen unkritisch, innerhalb eines HTML-Attributwerts sollten sie aber kodiert werden, damit sie das Attribut nicht vorzeitig beenden – dieses Tool kodiert sie vorsorglich in beiden Fällen mit.

Ist das dasselbe wie URL-Kodierung?

Nein, HTML-Kodierung betrifft Sonderzeichen innerhalb von HTML-Dokumenten, URL-Kodierung dagegen Zeichen innerhalb von URLs. Beide folgen unterschiedlichen Regeln.